SwaggerHub 的新功能:OpenAPI 规范 3.1

  2023年7月14日

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,我们可以期待两件事

  1. 鉴于 JSON Schema 的强大功能和复杂性,工具将缓慢地增加以实现功能对等。
  2. 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 生命周期所需的更多关键功能,例如进一步的协作和集成。