.NET 配置

以 Markdown 格式查看

您可以在 generators.yml 中自定义 C#/.NET SDK 生成器的行为:

generators.yml
1groups:
2 csharp-sdk:
3 generators:
4 - name: fern-csharp-sdk
5 version: 2.68.12
6 config:
7 client-class-name: YourApiClient
base-api-exception-class-name
string

自定义所有特定 API 异常将继承的基础 API 异常类的名称。这允许您定义自定义的基础异常类名,以便更好地与现有的错误处理模式集成。

base-exception-class-name
string

指定所有生成的异常将继承的基础异常类的名称。这为所有 SDK 异常提供了一个公共的父类,实现一致的异常处理模式。

client-class-name
string

设置生成的 API 客户端类的名称。这决定了用户在生成的 .NET SDK 中将与之交互的主要客户端类型名称。

custom-pager-name
string

自定义用于处理分页 API 响应的分页辅助类的名称。这允许您指定符合您命名约定的自定义名称。

default-timeout-in-seconds
number | 'infinity'Defaults to 30

网络请求的默认超时时间,以秒为单位。设置为 infinity 可禁用默认超时。SDK 用户仍然可以通过传递 RequestOptions.Timeout按请求覆盖此设置

enable-forward-compatible-enums
boolean

启用后,生成可以处理未知值的枚举类型。这允许 SDK 处理可能添加到 API 中的新枚举值,而不会破坏现有的客户端代码,提高前向兼容性。

environment-class-name
string

指定用于管理不同 API 环境(例如开发、测试、生产)的环境配置类的名称。

explicit-namespaces
boolean

启用后,在整个 SDK 中生成带有显式命名空间声明的代码。这有助于避免命名冲突并提高大型项目中代码的清晰度。

exported-client-class-name
string

设置将在代码示例和文档中使用的导出客户端类的名称。这对于自定义客户端在生成的文档中的显示方式很有用。

generate-error-types
boolean

启用后,为不同的 API 错误生成特定的错误类型类。这提供强类型错误处理,而不是使用通用异常类型。

generate-mock-server-tests
booleanDefaults to true

生成模拟服务器(网络)测试以验证 SDK 按预期发送和接收 HTTP 请求。

include-exception-handler
boolean

启用后,在生成的 SDK 中包含内置异常处理工具。这为常见的错误处理场景提供便利方法。

inline-path-parameters
boolean

启用后,路径参数将作为请求对象的属性包含,而不是作为单独的方法参数传递。这创建了一个更统一的请求结构,将所有参数分组在一起。

maxRetries
number

失败请求的默认重试次数。未设置时,生成的 SDK 使用其自己的内置默认值。SDK 用户仍然可以通过请求选项按请求覆盖此设置。

namespace
string

指定所有生成的 .NET 代码的根命名空间。这决定了用户在使用 SDK 时将导入的命名空间层次结构。

offset-semantics
'item-index' | 'page-index'

控制如何为自动分页端点解释偏移参数。

  • item-index: 偏移计算单个项目(例如,偏移 20 跳过前 20 个项目)。
  • page-index: 偏移计算页面(例如,偏移 3 跳到第 3 页)。
omit-fern-headers
booleanDefaults to false

启用后,生成的 SDK 从 HTTP 请求中省略 X-Fern-LanguageX-Fern-SDK-NameX-Fern-SDK-Version 标头。

package-id
string

设置生成的 SDK 的 NuGet 包标识符。这在将 SDK 发布到 NuGet 或其他包仓库时使用。

read-only-memory-types
List<string>

指定应使用 ReadOnlyMemory<T> 而不是常规数组或集合生成的类型列表。通过减少内存分配,这可以改善大数据传输的性能。

redact-response-body-on-error
boolean

启用后,防止原始响应正文泄漏到异常消息和日志中。反序列化错误异常传递 null 而不是原始响应正文,基础 API 异常类包含排除响应正文的自定义 ToString() 重写。

root-client-class-access
'public' | 'internal'

控制根客户端类的访问修饰符。使用 ‘public’ 使客户端可从其他程序集访问,或使用 ‘internal’ 将访问限制在同一程序集内。

root-namespace-for-core-classes
boolean

启用后,将核心 SDK 类(如基础客户端类和工具)放置在根命名空间而不是嵌套命名空间中。这可以简化常用类型的导入。

use-discriminated-unions
boolean

启用后,为可以包含多种不同对象类型的 API 响应生成区分联合类型。这为多态响应提供类型安全的处理。