从响应生成规范
根据你发送过的请求和得到的响应写出 OpenAPI 规范。
你往往先有请求,后有规范:别人导入的集合,或你在探索 API 时试过的调用。从响应生成规范会把它们变成 OpenAPI 文档。每个请求都成为一个操作,并依据它得到的最后一个响应来记录:路径和参数、发送的正文,以及响应,其中包含其正文的 JSON Schema 和一个示例。也可以添加到你已有的规范中,它只会补上缺少的内容。
记录一个文件夹
发送你想记录的请求,让每个请求都有响应。例如在 Alpenglow 中,发送 Catalog 文件夹里的请求。
在“请求”边栏中右键点按该文件夹,选择记录到 OpenAPI 规范…。要记录整个工作区,请在“规范”边栏中选择 + › 从响应新建规范…,在空的“规范”页面上选择从响应生成…,或在命令面板中选择从响应新建规范…。
在记录到 OpenAPI 规范表单中检查各项选择:
| 选项 | 含义 |
|---|---|
| 请求 | 整个工作区,或某个文件夹。其子文件夹中的请求也包含在内。 |
| 规范 | 新建规范,或工作区中要添加内容的某个规范。已经遵循某个规范的文件夹会添加到那个规范。 |
| 标题 | 新规范的标题。初始为文件夹的名称,或工作区的名称。 |
| 将“文件夹”链接到规范 | 默认开启。文件夹中的请求随后会遵循它们所转成的操作,因此之后对规范的更改可以应用到这些请求上。 |
点按记录。表单会说明发生了什么,然后点按打开规范即可打开结果。

你会得到什么
结果列出:
| 标题 | 含义 |
|---|---|
| 新操作 | 规范中原本没有的操作,例如 GET /products/{sku}。 |
| 已添加响应 | 规范中原有、现在又记录了另一个响应的操作,例如 404。 |
| 已记录 | 规范已按其应答的样子记录的操作。没有任何更改。 |
| 未包含 | 未被记录的请求,每个都附有原因。 |
它还会说明现在有多少个请求遵循其操作,以及(如果有)lint 在结果中发现了多少个错误。
每个操作包含的内容:
- 路径,采用 OpenAPI 的形式:来自变量的路径段会变成路径参数,并用发送的值来记录。URL 的服务器部分不计入路径。
- 请求设置的查询参数和标头。
- 请求正文和响应,其中有根据正文生成的 JSON Schema 和一个示例。过大的示例会被省略而保留 Schema;较长的数组在示例中只保留几项。
- 请求的名称作为操作的摘要,它所在的子文件夹作为操作的标签。
- 请求的认证作为安全方案。对于 OpenAPI 没有对应方案的认证(使用设备代码授权的 OAuth 2),会有一条说明。
机密会被遮蔽:机密变量,以及看起来像机密的键(令牌、密码、密钥)下的值,在示例中显示为 ••••••。
添加到已有的规范
在规范下选择该规范。Echolot 只会添加缺少的内容:它尚未提及的操作、响应、Schema 和安全方案。规范中已有的内容保持原样。Swagger 2.0 的规范无法添加内容;只有 OpenAPI 3 文档可以。
从历史记录中记录单个响应
在历史记录中,右键点按得到了响应的 HTTP 交换,选择添加到 OpenAPI 规范…。同一个表单会打开,针对的是那一个响应。这对只见过一次的响应很方便,例如某个错误。
哪些内容不会包含
- 不是 HTTP 的请求(GraphQL、gRPC、WebSocket 等):OpenAPI 中只记录 HTTP 请求。
- 还没有响应的请求:请先发送它们。
- 发送失败、没有得到任何响应的请求。
- 位于遵循自己规范的子文件夹中的请求。
保持最新
文件夹一旦遵循规范,规范就是契约。在“规范”页面中编辑它,并用检查“文件夹”的更改…把更改应用到请求上。参见遵循规范的请求。你也可以把规范的响应交给模拟服务器,让前端据此开发。
当规范工具集开启时,智能体可以通过 add_to_spec 工具完成同样的事:参见智能体。
