Fern vs. OpenAPI Generator
Fern 生成生产级 SDK,内置 OAuth token 刷新、分页、重试、类型错误处理和全面的文档。OpenAPI Generator 生成基本的 API 包装器,需要您自己实现这些功能。
文档和用户引导
Fern SDK 包含全面的文档,涵盖安装、身份验证、类型、错误、分页和重试。OpenAPI Generator 提供最小化的文档。
客户端人体工程学
Fern 提供具有命名空间资源的单一统一客户端。OpenAPI Generator 为每个资源使用单独的 API 类。
代码示例
身份验证和 token 生命周期
Fern 包含内置的 OAuth token 提供者,自动检索和刷新 token,并在过期前配置缓冲时间。OpenAPI Generator 需要手动 token 管理。
分页
Fern 为分页提供异步迭代器,支持 for await。OpenAPI Generator 返回原始响应,需要手动游标跟踪。
代码示例
错误处理
Fern 为特定的 HTTP 状态码生成类型化错误类。OpenAPI Generator 使用通用的 ResponseError 类。
代码示例
弹性功能
Fern 包含带指数退避的自动重试、可配置超时和请求取消。OpenAPI Generator 需要自定义实现这些功能。
代码示例
日志记录和可观测性
Fern 包含可配置的日志记录,自动编辑认证头、token 和 API 密钥。OpenAPI Generator 没有内置日志记录。
代码示例
原始响应访问
Fern 提供 .withRawResponse() 方法来访问 HTTP 响应详细信息。OpenAPI Generator 使用单独的 *Raw() 方法。
代码示例
运行时兼容性和打包
Fern 支持多个 JavaScript 运行时,具有 ESM/CJS 双重构建和自动运行时检测。OpenAPI Generator 提供 ESM/CJS 支持。
测试和质量
Fern SDK 包含启用了代码检查的单元和线路测试。OpenAPI Generator 不包含测试。