SDK 用户功能

以 Markdown 格式查看

Fern 生成的 SDK 在所有语言中提供一致的功能集,帮助开发者与您的 API 交互。使用信息会自动生成到您 SDK 的 README.md 中,您可以对其进行自定义

要查看生成的 SDK README 的完整示例,请参见 Intercom 的 Python SDK

安装和基本使用

用户使用标准包管理器(TypeScript 用 npm、Python 用 pip、Java 用 Maven/Gradle 等)从特定语言的注册表安装 SDK。

用户使用您 API 的基础 URL 和任何必需的身份验证来初始化客户端,然后调用客户端上的方法与您的 API 交互。生成的 SDK 支持各种语言的现代运行时。

参考文档

README.md 文件链接到自动生成的 reference.md 文件 (示例), 该文件列出了按资源组织的所有可用 API 方法,包括带有参数类型的方法签名、使用示例,以及每个端点的请求/响应结构。

IDE 支持和 IntelliSense

Fern 生成的 SDK 包含完整的类型定义,支持丰富的 IDE 功能。当开发者在 VS Code 等编辑器中使用您的 SDK 时,他们可以获得自动完成、内联文档和类型信息。

内联文档来源于您的 API 定义。在 SDK 生成过程中,Fern 将您的参数描述、返回类型和代码示例直接作为文档字符串(Python)、JSDoc(TypeScript)、Javadoc(Java)等嵌入到代码中。

来自 Vapi Server SDK(TypeScript)

错误处理

当 API 返回 4xx 或 5xx 状态码时,SDK 会抛出一个包含状态码、错误消息、响应体和原始响应对象的错误。

Webhook 签名验证

当您在 API 规范中定义 webhook 时,Fern 会自动生成工具,允许您的用户验证 webhook 签名并确保事件来源于您的 API。

默认参数值

您可以为路径、头部和查询参数配置默认值,包括在 x-fern-global-headers 下定义的头部。SDK 会使这些参数变为可选,并在调用者未提供时发送默认值——这对于固定 API 版本头部或默认区域等场景很有用。

自定义选项

您的 SDK 用户可以使用特定语言的选项来配置单个请求:

选项描述可用性
超时配置请求超时(默认:C# 和 PHP 为 30 秒,其他所有语言为 60 秒)所有语言
重试配置最大重试次数(默认:对 408、429 和 5xx 响应进行 2 次指数退避重试)除 Ruby 和 Swift 外的所有语言
自定义 HTTP 客户端覆盖默认 HTTP 客户端以支持不支持的环境或自定义需求TypeScript、Python、Java、PHP 和 Swift
aiohttp 传输选择使用 aiohttp 作为异步 HTTP 传输以解决 DNS 并发瓶颈仅 Python
自定义头部在任何请求中发送额外的头部TypeScript、Java 和 Swift
原始响应数据访问响应头部和解析后的数据TypeScript、Python 和 Go
查询参数添加额外的查询字符串参数TypeScript 和 Swift
中止信号取消进行中的请求仅 TypeScript