Swagger 团队很自豪地宣布 swagger-core 和 swagger-parser 的首个候选版本,增加了对 OpenAPI 规范 3.0.0 (OAS 3.0) 的支持!
随着新版本的规范发布,我们确信用户都渴望尝试它。之前,我们已经在Swagger UI 和 Swagger 编辑器中发布了对 OAS 3.0 的支持,现在是 Java 世界迈出这一步的时候了。
新库的发布面向早期采用者,并且存在一些已知的限制,如下所述。通过此首个版本,我们希望您能帮助我们提交问题,甚至提交带有修复的 PR。请注意,作为候选版本,API 可能会在最终版本之前发生更改,从而给您的应用程序带来重大变更。
以下是 Swagger-core 和 Swagger-parser 的新增功能
Swagger-core 是一组模块,可以与一些 Java 技术(如 JAX-RS 和 Servlets)集成,以生成 OpenAPI 定义。但是,swagger-core 的功能不止于此 - 它还提供了一组模型来表示 OpenAPI 标准中的 API 定义,以及一组可用于使用其他信息修饰代码的注解。Swagger 工具集下的其他项目和社区工具都使用这两个模块。
新版本的 swagger-core 代表了代码的一次重大重写,当前编号为 2.0.0-rc1。此版本提供了一些关键特性和更改
- 仅支持 OAS3。就像之前的 swagger-core 版本一样,仅支持一个规范版本。
- 作为一段时间以来的第一个主要版本 - 注解已完全重写并调整为支持新版本的规范。
- 这意味着 swagger-core 2.X 是与之前版本不兼容的重大更改。
- 当前的 RC 仅支持 JAX-RS2。
- 代码库使用 Java 8。
我们鼓励您阅读完整的发行说明并获取更多信息。代码本身可以在 2.0 分支中找到,并将保留在那里直到正式稳定版本发布。我们还将在接下来的几周内在 wiki 中开始提供有关新集成的更多文档。
Swagger-parser,我们的 OpenAPI 定义反序列化器,也已发布版本 2.0.0-rc0。与 swagger-core 非常相似,这为您提供对读取 OAS3 定义并将其解析为模型树的支持。该项目还包括一个从 OAS2 到 OAS3 的转换器,并在尝试解析此类定义时自动使用它。与 swagger-core 一样,代码本身可以在 2.0 分支中找到,并将保留在那里直到正式稳定版本发布。
其他 Swagger Java 项目的下一步是什么?
很高兴您问到!我们目前专注于扩展 swagger-core、改进 swagger-parser 中的转换器以及实现带有 OAS3 支持的 swagger-inflector 的新版本。
validator-badge 和 swagger-codegen 将是下一个!
要了解 Swagger 团队发布的最新更新,您可以关注我们的 Twitter @SwaggerAPI 或订阅博客边栏。