Fern Definition 中的端点
Fern Definition 中的端点
在 Fern 中,您将相关端点组织成一个 Service(服务)。这种分组 提高了清晰度,并使生成的 SDK 更加地道。
服务定义
每个服务定义:
- base-path(基础路径):所有端点 HTTP 路径的通用前缀
- 服务是否需要身份验证
- Endpoints(端点)
要定义具有空基础路径的服务,请使用空字符串:base-path: ""
节显示名称
默认情况下,API 参考中的节名称来自服务文件名(例如,user.yml 变成”User”)。要覆盖节的显示名称,在您的 docs.yml 中使用 section 属性。
SDK 方法名称
SDK 方法名称直接从服务文件名和端点键派生。文件名成为命名空间,端点键成为方法名。
例如,给定以下定义:
Fern 生成一个名为 client.users.create() 的方法。
端点
端点包括:
- URL 路径 (可选择包含路径参数)
- 显示名称 (可选)
- HTTP 方法
- 请求信息 (可选)
- Query-parameters(查询参数)
- Headers(请求头)
- Request body(请求体)
- 成功(200)响应信息 (可选)
- 此端点可能返回的错误(非 200)响应 (可选)
URL 路径
每个端点都有一个 URL 路径。
端点的完整路径是以下内容的连接:
- 环境 URL
- 服务
base-path - 端点
path
端点显示名称
显示名称将作为端点的标题出现。默认情况下,显示名称等于端点名称的”标题大小写”。如果您想要自定义端点名称,可以设置显示名称。
在下面的示例中,“Add a new plant to the store” 作为 API 参考中端点页面的标题显示。
路径参数
为您的端点提供路径参数以创建动态 URL。
服务也可以有路径参数:
查询参数
每个端点可以指定查询参数:
allow-multiple
使用 allow-multiple 指定查询参数在 URL 中允许
多次出现,如 ?filter=jane&filter=smith。这将改变
生成的 SDK,使消费者可以为查询
参数提供多个值。
认证
每个端点都可以覆盖服务中指定的认证行为。
请求头
每个端点可以指定请求头:
服务也可以指定请求头。这些头将级联到服务的端点。
请求体
端点可以指定请求体类型。
内联请求体
如果请求体是一个对象,您可以内联类型声明。这 使生成的 SDK 更加地道。
成功响应
端点可以指定 response,这是在成功(200)调用时
返回的主体类型。
响应状态码
您还可以使用 status-code 字段为成功响应指定自定义状态码。
分页
Fern 支持偏移、游标、URI 和基于路径的分页方案。要在生成的 SDK 中设置自动分页:
- 使用
pagination字段标注所需的分页端点 - 指定分页方案(
offset、cursor、next_uri或next_path) - 使用点访问表示法指定
results的位置。
偏移分页选项
在大多数偏移分页配置中包含 step,以确保偏移按页面大小递增。当您的 API 返回附加页面的布尔指示器时,请使用 has-next-page。
pagination 字段支持以下属性:
幂等端点
将端点标记为幂等,以允许 SDK 用户为安全请求重试指定幂等性头。您还必须在 api.yml 中配置幂等性头 来定义哪些头可用。
错误响应
端点可以指定错误响应,详细说明 端点可能返回的非 200 响应。
您可以在错误页面了解更多关于如何定义错误的信息。
指定示例
当您声明一个示例时,您还可以指定一些该 端点如何使用的示例。这些被编译器用来增强生成的 输出。示例将在您的 SDK、API 文档和 Postman 集合中显示为注释。
您可以为端点、类型和错误添加示例。
如果您要向端点添加示例且类型已经有示例,您可以使用 $ 引用它。
示例包含有关端点调用的所有信息,包括 请求体、路径参数、查询参数、头和响应体。
失败示例
您还可以指定失败端点调用的示例。添加 error
属性到响应示例以指定您正在演示哪个失败。
如果错误有主体,则必须在示例中包含主体。
从类型引用示例
为避免重复,您可以使用 $ 从类型引用示例。