回顾 Swagger 开源之夏

  2019 年 9 月 24 日

我们很久没有发布关于 Swagger 的进展了,但现在进行一些更新还不算晚!在过去的几个月里,我们致力于进行一些更改,其中一些是技术性的,而另一些则更面向用户。在这篇文章中,我们将尝试介绍其中一些更新,不分重要性顺序。

常规发布

我们为我们的各种项目进行了多次发布,详细介绍所有发布可能没有意义。但是,如果您不知道,我们所有的版本都带有发行说明,其中详细说明了改进、错误修复以及(我们尽量避免的)重大更改。

GitHub 中的每个项目都有一个“Releases”部分,例如:https://github.com/swagger-api/swagger-ui/releases

您可以在那里找到我们所有的说明和各种版本。跟踪新版本的另一个好方法是“监视”一个项目,并将其设置为“仅发布”。这样,您只会收到发布时的通知,而不会收到提交给它的所有问题和 PR。

值得注意的发布

即使我们定期发布版本,我们最近还发布了一些提供新功能的版本。所有新项目现在也都基于 OpenAPI 3.0!

验证器徽章

我们正式发布了 Validator Badge 的版本 2。虽然我们更改了项目的基础设施,但 API 保持不变,此外,它现在除了支持 Swagger/OpenAPI 2.0 之外还支持 OpenAPI 3.0。

为了反映这一变化,项目的主分支代表当前版本,而 v1 分支则具有先前版本的副本。

托管版本更新:直到今天,托管版本一直存在于 https://online.swagger.io/validator 下。目前,此 URL 仍然有效并公开了 Validator 的 v1 版本。新版本的验证器托管在 https://validator.swagger.io 下,并且最新版本的 Swagger UI 使用该 URL。我们强烈建议那些使用旧 URL 的用户切换到新 URL。将来,我们要么将旧 URL 重定向到新 URL,要么将其关闭。

报告问题和提交贡献: Validator Badge 项目是一个简单的 Web 服务项目,封装了 Swagger Parser。如果您的 Web 服务有问题(例如,API 未按预期工作),请在 https://github.com/swagger-api/validator-badge 提交问题。但是,如果您发现验证本身有问题,请在 https://github.com/swagger-api/swagger-parser 提交。如果您不确定,请不要担心 - 在您喜欢的任何地方提交问题,如果需要,我们会将其转移。

Swagger 转换器

转换器是一个较新的项目。我们已经将其隐藏了一段时间,现在我们终于将其作为开源发布。与 Validator Badge 非常相似,Swagger Converter 是一个包装 Swagger Parser 的 Web 服务,提供将旧定义文件转换为 OpenAPI 3 的能力。托管版本在 https://converter.swagger.io 上可用,您也可以自己构建并运行它,或者使用 docker 映像。

报告问题和提交贡献:如果您的 Web 服务有问题(例如,API 未按预期工作),请在 https://github.com/swagger-api/swagger-converter 提交问题。但是,如果您发现转换本身有问题,请在 https://github.com/swagger-api/swagger-parser 提交。同样,如果您不确定,只需在您喜欢的任何地方提交问题,我们会根据需要进行转移。

Pet Store v3

等等,什么?!等了很久,Pet Store 的 OpenAPI 3 版本现在上线了!

目前,您可以在 https://petstore3.swagger.io 找到它。将来,我们将用 v3 替换主要的 https://petstore.swagger.io,并使 v2 在单独的 URL 中保持活动状态。

Pet Store v3 目前只是将 v2 简单地迁移到 OpenAPI 3。但是,目前,我们并未充分利用 OAS3 功能。我们确实希望改变这一点,您也可以提供帮助!

与之前使用代码优先方法的 Pet Store 版本不同,在新版本的 Pet Store 中,我们采用了设计优先方法。这意味着,即使您不熟悉代码本身,只要您了解 OpenAPI 3,您就可以提交 PR 并帮助我们改进 Pet Store 本身。请记住,Pet Store 不一定旨在展示良好的 API 设计,而更多地是为了涵盖规范的不同功能。

另一个变化是,Pet Store 的源代码现在更容易找到。只需跳到 https://github.com/swagger-api/swagger-petstore。两个托管版本都在那里(v3 的 master 分支,v2 的 v2 分支)。

报告问题和提交贡献:现在有了新的存储库,提交想法、修复和更改比以往任何时候都容易。只需转到 https://github.com/swagger-api/swagger-petstore 即可开始。如果您只想对公开的 API 提出建议,只需针对 https://github.com/swagger-api/swagger-petstore/blob/master/src/main/resources/openapi.yaml 提交 PR 即可,这是设计优先方法的奇迹。

新的贡献指南

开源项目的一大优势是能够根据自己的需求做出贡献并改进它们。无论您是新手还是经验丰富的用户,您可能对贡献的最佳方式有一些疑问。

我们重视您的时间,并感谢您愿意提供帮助。以下是一些可帮助您入门的信息。请记住,开源贡献有多种形式,而不仅仅是代码贡献。

在我们的 贡献指南中,我们描述了从回答问题到测试和进行代码更改的不同帮助方式。

对于那些不了解的人,当您在 GitHub 中打开一个新问题时,在右侧面板的底部将有一个或多个链接,指向项目维护人员提供的常用资源。例如



您可以在这里找到贡献指南的来源:https://github.com/swagger-api/.github/blob/master/CONTRIBUTING.md

与往常一样,我们欢迎反馈和贡献,请记住,这是我们所有项目的一般指南。