继Swagger 宣布支持 OpenAPI 3.1 之后,我很高兴地分享我们已经推出了对 OpenAPI 3.1 的初步支持。
TL;DR – 在 SwaggerHub 中,现在您可以
- 使用 SwaggerHub 作为单一事实来源,对 OpenAPI 3.1 API 进行编目。
- 使用功能更强大的全新 Swagger 编辑器设计 OpenAPI 3.1 API。
- 保留所有 API 的文档,包括使用 OpenAPI 3.1 和 AsyncAPI 的 API。
- 利用 OpenAPI 3.1 的新功能,例如支持 JSON Schema 2012-12。
此版本只是 SwaggerHub 的开始,我们致力于尽快为您带来对 OpenAPI 3.1 的全面支持。以下详细介绍了上述几点,以及我们与 OpenAPI 3.1 的功能对等计划,以实现完整的 API 开发和管理工作流程。
查看 SwaggerHub OAS 3.1 文档
在 SwaggerHub 中构建对 OpenAPI 3.1 的支持
虽然添加一个简单的“点一”看起来像是一个小版本,但它带来了我们现在可以描述模型和架构方式的重大解绑——JSON、XML 和表单正文的形状在请求和响应中流经 API。
OpenAPI 3.1 支持 JSON Schema 的全部范围(特别是编写时最新的 JSON Schema 草案 2020-12),并且可以想象任何版本的 JSON Schema(尽管作为工具制造商,我们在 Swagger 中对此进行了一些限制。请参阅下文了解不支持的内容)。
这意味着什么?
从历史上看,OpenAPI 支持 JSON Schema 的一个子集,并且对于相同的关键字甚至具有不同的语义。这意味着重用架构需要在“OpenAPI 风格的 JSON Schema”和其他版本的 JSON Schema 之间转换它们,从而降低了描述架构事实来源的能力,并限制了重用。
OpenAPI 在其支持的 JSON Schema 功能方面也一直很保守。这对工具制造商来说是好事,他们能够完全支持 OpenAPI,但也留下了一些功能——这些功能允许在描述真实世界的 API 时有更大的能力。
现在 OpenAPI 已经完全支持 JSON Schema,我们可以期待两件事
- 鉴于 JSON Schema 的强大功能和复杂性,工具将缓慢地增加以实现功能对等。
- OpenAPI、AsyncAPI、JSON Schema 工具和可能其他规范之间将爆发可重用性。
Swagger 和 SwaggerHub 在这里处于什么位置?
在开源中,各种 Swagger 项目一直在逐步地有时甚至是完全地重写自己以支持 OpenAPI 3.1,从核心 Java 和 JavaScript 库到用户面向的工具(如 Swagger 编辑器和 Swagger UI)。有一个明显的例外,Swagger Codegen 的工作仍在继续。了解更多:Swagger 支持 OAS 3.1。
使用 SwaggerHub 对 OAS 3.1 中的 RESTful API 进行编目
SwaggerHub 很自豪现在也可以在其编目功能中全面支持 OpenAPI 3.1。
到目前为止,如果团队已经开始使用 OAS 3.1 创建 API,他们还无法将它们存储在 SwaggerHub 中——但今天这种情况发生了变化。您可以在 SwaggerHub 中创建或导入 OAS 3.1 API,以获得所有 API 产品组合管理的单一事实来源。
这方面的三个例子是
- 创建、搜索和筛选您的 OpenAPI 3.1 定义。
- 使用功能更强大的全新 Swagger 编辑器设计 OpenAPI 3.1 定义。
- 使用自定义 linting 规则标准化 OpenAPI 3.1。
- 当然,还可以查看并试用交互式文档的文档编写。
使用 SwaggerHub 的好处是集中编目这些不同的 API、支持协作工作流程,并通过标准化和治理降低成本。将 RESTful 和事件驱动的 API 放在一起是管理产品组合的重要一步。
有了这个单一的 API 目录,开发人员、架构师、设计师和使用者都可以从改进的发现和更高的治理中受益。
阅读更多
使用 SwaggerHub 在 OAS 3.1 中设计 RESTful API
2022 年底推出的全新 Swagger 编辑器 是一个里程碑,它使我们达到了现在的状态,支持使用 OpenAPI 3.1 设计 RESTful API。新编辑器的一个重大进步是能够支持多种 API 规范,同时确保易于扩展。
现在,您可以使用 OAS 3.1 创建、编写文档和测试 RESTful API,同时保持当前的最佳实践和标准。
开始使用新的 Swagger 编辑器
使用 SwaggerHub 在 OAS 3.1 中编写 RESTful API 文档
在 SwaggerHub 中,为使用 OAS 3.1 规范编写的 API 保持准确、最新的文档。在设计过程中自动生成交互式文档,以便 API 使用者和内部用户都可以了解和使用您的 API。
在一个中心平台上导入或托管 OAS 3.1 API 和 AsyncAPI 定义,并管理文档的版本控制和发布,以确保一致性。
阅读更多
下一步是什么?
此初始版本是我们的起点。我们致力于在 SwaggerHub 中扩展 OAS 3.1 的支持。接下来,我们将构建有效管理 API 生命周期所需的更多关键功能,例如进一步的协作和集成。