这是一系列关于 OpenAPI 规范(OAS)及其工具生态系统的帖子。
- 为何绘制 OAS 生态系统图:为设计 OAS 3.2 和 4.0“Moonwalk”,需了解 OAS 工具生态系统及各工具与当前 OAS 版本 3.1 的关系,为此创建了两组图,包括 OAS 工具架构图和 OAS 定义的对象与字段关系图,但过程并不简单。
- OAS 工具的作用:发现工具设计和 OAS 使用模式的寻找很困难,许多“工具”并非 OAS 实现,而是包含 OAS 功能的应用,真正的是用 OpenAPI 描述(OAD)可完成不同任务,每个 OAS 工具、应用或库至少完成一项此类任务。
- 如果一个工具能完成所有任务:开始思考所有任务及其相互关系,虽不是要创建一个整体的超级工具架构,但有助于理解任务间的直接和间接关系及接口。
- 理想化架构:基于 OAS 3.1 及 3.2 和 Moonwalk 的想法,分为解析库(基础)、OAD 工具(处理 OAD 及其组成文档)、API 工具(处理 OAD 描述的 API)三个主要功能区域。
- 颜色编码与可访问性:使用 Paul Tol 设计的一组颜色(灰色文档和元数据、黄色引用和隐式连接、粉色解析、青色接口建模、梨形运行时数据验证、橄榄色扩展验证、蓝色数据编码、橙色 HTTP 建模、薄荷色 API 文档),以在工具图和规范图中保持颜色一致性,便于理解两者关系。
- 解析库:最基础功能区域,由处理低级别文档接口(灰色)、解析引用和隐式连接(黄色)、解析(粉色)的块组成,每个处理 OAD 或 API 的工具都需解析 OAD 并处理内部连接,上层粉色块“API 描述 API(ADA)”旨在为解析和解析后的 OAD 提供干净接口,避免工具处理文档管理和引用的复杂性,决定在 Moonwalk 中引入 ADA,不确定是否在 3.x 中开始定义及 3.x 工具是否支持。
- OAD 工具:将与 OAD 工作的工具与与 API 工作的工具分开,这些工具主要关注 OAD 的结构,左侧包括 OAD 编辑器、验证器等,右侧包括连接 OAD 与其他规范的工具,语义操作通过 ADA 进行语义访问,结构操作通过底层文档接口进行结构访问。
- API 工具:从假设的最终用户查看交互式文档站点开始,包括 API 文档(薄荷色)、接口建模和验证(青色、梨形、橄榄色)、数据编码和解码(蓝色)、HTTP 建模(橙色),文档由薄荷色块通过 ADA 生成并以不同格式呈现,接口建模包括接口定义(青色)、运行时数据验证(梨形)、扩展验证(橄榄色),数据编码和解码定义了处理不同媒体类型和语法的模块化、可扩展系统,HTTP 建模将编码数据组装成 HTTP 消息并处理相关配置。
- 下一步:下一步是详细分析 OAS 3.1 和可能的 3.2 提案,并将对象和字段与理想化架构相关联,以显示规范和工具之间的不匹配及应对措施,同时过去一周的 Moonwalk 工作组电话会议已开始相关实际工作,理想化架构对 OAS 的未来影响已很真实。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。