根据 SmartBear(Swagger的母公司):
“OpenAPI 规范(OAS)定义了一个标准、与语言无关的接口,用于 RESTful API,允许人类和计算机在没有访问源代码、文档或通过网络流量检查的情况下发现和理解服务的能力。”
这有点拗口。让我们将 SmartBear 的描述分解成较小的部分:
1.“...定义了一个标准...”:
OpenAPI 规范定义了 API 的结构,也描述了 API 本身。
2.“...与语言无关的接口到 RESTful API...”:
3.“...允许人类和计算机发现和理解服务的能力...”:
4.“...无需访问源代码、文档或通过网络流量检查。”
使用 OpenAPI,客户端应用程序和 API 服务器是分开的。服务的 API 定义、定义了客户端如何与之交互,而无需客户端阅读其源代码。
总结来说,OpenAPI 是一个 RESTful API 规范,描述符合 RESTful 架构的 API。规范提供了一个接口,让人类和计算机理解 API 以及如何与之交互。
OpenAPI 的起源可以追溯到 2009 年,当时 Wordnik 公司的工程师 Tony Tam 创建了一个规范(当时称为 Swagger),用于描述 Wordnik 的在线字典 JSON API。
在接下来的几年里,Tony 对 Swagger 进行了几次迭代。然而,Swagger 2.0 规范的采用率增加,并触发了解析规范的工具的创建。
2015年,SmartBear 收购了 Swagger。SmartBear 是当前拥有 Swagger的公司。Swagger 规范被重命名为“OpenAPI”,以反映新的 OpenAPI 倡议。这就是为什么“Swagger”与“OpenAPI”标准混淆的原因。
当时,一群公司认识到,行业需要一种供应商中立和标准化的方式来描述API。行业需要为行业提供“最佳实践”并监督 OpenAPI 的更新。