.NET 配置
.NET 配置
您可以在 generators.yml 中自定义 C#/.NET SDK 生成器的行为:
base-api-exception-class-name
自定义所有特定 API 异常将继承的基础 API 异常类的名称。这允许您定义自定义的基础异常类名,以便更好地与现有的错误处理模式集成。
base-exception-class-name
指定所有生成的异常将继承的基础异常类的名称。这为所有 SDK 异常提供了一个公共的父类,实现一致的异常处理模式。
client-class-name
设置生成的 API 客户端类的名称。这决定了用户在生成的 .NET SDK 中将与之交互的主要客户端类型名称。
custom-pager-name
自定义用于处理分页 API 响应的分页辅助类的名称。这允许您指定符合您命名约定的自定义名称。
default-timeout-in-seconds
网络请求的默认超时时间,以秒为单位。设置为 infinity 可禁用默认超时。SDK 用户仍然可以通过传递 RequestOptions.Timeout 来按请求覆盖此设置。
enable-forward-compatible-enums
启用后,生成可以处理未知值的枚举类型。这允许 SDK 处理可能添加到 API 中的新枚举值,而不会破坏现有的客户端代码,提高前向兼容性。
environment-class-name
指定用于管理不同 API 环境(例如开发、测试、生产)的环境配置类的名称。
explicit-namespaces
启用后,在整个 SDK 中生成带有显式命名空间声明的代码。这有助于避免命名冲突并提高大型项目中代码的清晰度。
exported-client-class-name
设置将在代码示例和文档中使用的导出客户端类的名称。这对于自定义客户端在生成的文档中的显示方式很有用。
generate-error-types
启用后,为不同的 API 错误生成特定的错误类型类。这提供强类型错误处理,而不是使用通用异常类型。
generate-mock-server-tests
生成模拟服务器(网络)测试以验证 SDK 按预期发送和接收 HTTP 请求。
include-exception-handler
启用后,在生成的 SDK 中包含内置异常处理工具。这为常见的错误处理场景提供便利方法。
inline-path-parameters
启用后,路径参数将作为请求对象的属性包含,而不是作为单独的方法参数传递。这创建了一个更统一的请求结构,将所有参数分组在一起。
maxRetries
失败请求的默认重试次数。未设置时,生成的 SDK 使用其自己的内置默认值。SDK 用户仍然可以通过请求选项按请求覆盖此设置。
namespace
指定所有生成的 .NET 代码的根命名空间。这决定了用户在使用 SDK 时将导入的命名空间层次结构。
offset-semantics
控制如何为自动分页端点解释偏移参数。
item-index: 偏移计算单个项目(例如,偏移 20 跳过前 20 个项目)。page-index: 偏移计算页面(例如,偏移 3 跳到第 3 页)。
omit-fern-headers
启用后,生成的 SDK 从 HTTP 请求中省略 X-Fern-Language、X-Fern-SDK-Name 和 X-Fern-SDK-Version 标头。
package-id
设置生成的 SDK 的 NuGet 包标识符。这在将 SDK 发布到 NuGet 或其他包仓库时使用。
read-only-memory-types
指定应使用 ReadOnlyMemory<T> 而不是常规数组或集合生成的类型列表。通过减少内存分配,这可以改善大数据传输的性能。
redact-response-body-on-error
启用后,防止原始响应正文泄漏到异常消息和日志中。反序列化错误异常传递 null 而不是原始响应正文,基础 API 异常类包含排除响应正文的自定义 ToString() 重写。
root-client-class-access
控制根客户端类的访问修饰符。使用 ‘public’ 使客户端可从其他程序集访问,或使用 ‘internal’ 将访问限制在同一程序集内。
root-namespace-for-core-classes
启用后,将核心 SDK 类(如基础客户端类和工具)放置在根命名空间而不是嵌套命名空间中。这可以简化常用类型的导入。
use-discriminated-unions
启用后,为可以包含多种不同对象类型的 API 响应生成区分联合类型。这为多态响应提供类型安全的处理。