OpenAPI 文档能够使用机器可读的方式,描述类似基于 HTTP 协议的远程 API.
OpenAPI 文档实际上就是一个 JSON 对象,其中包含了在 OpenAPI 规范中定义的结构和字段。
OpenAPI 文档是一个文本文件,可以使用 JSON 格式或者 YAML 格式进行编写。
OpenAPI 文档的最小结构如下所示(YAML 格式)。
openapi: 3.1.0
info:
title: A minimal OpenAPI document
version: 0.0.1
paths: {} # No endpoints defined
在任何 OpenAPI 文档中,文档的根对象都是 OpenAPI
对象。需要说明的是,openapi
和info
两个字段是强制要包含的;而且至少还需要包含paths
、components
和webhooks
三个字段中的至少一个。在上面的示例中,我们选择了三个字段中的paths
字段。示例中,字段说明如下:
- openapi: 字符串(string)类型,表示 OpenAPI 文档遵循的规范的版本。
- info: Info 对象类型,是对 API 描述的一般性信息,如作者,联系方式,描述等。
info
包含两个强制字段:- title,字符串(string)类型,描述 API 的友好名称,让人更好理解。
- version, 字符串(string)类型,表示该 API 文档的版本,注意与 openapi 规范版本的区别。
- paths: Paths 对象类型,描述了 API 的端点(endpoints),包括输入的参数和输出的响应。
我们用一张图可以更清楚地看到根对象和字段的关系: