在编译/构建时从 Spring 代码生成 OpenAPI V3 规范

sus*_*nal 8 spring maven swagger openapi

我有一个 Spring 启动应用程序。我正在尝试从 Swagger 2 切换到 OpenAPI v3。早些时候,我依赖于https://github.com/kongchen/swagger-maven-plugin,它非常棒,用于支持 yaml/ 等工件的编译/构建时生成json。现在,由于 kongchen 存储库中不提供 openAPI v3 支持,我被迫转向https://github.com/springdoc/springdoc-openapi-maven-plugin。但是,这个“springdocs-openapi”插件依赖于要运行的服务器,因为它使用集成阶段。在许多 CI/CD 环境中,在构建阶段让服务器启动并运行实际上是不可行的。是否存在限制,为什么在编译阶段没有可用于构建 openAPI 规范的基于反射的选项?谁能帮我找到替代方案来解决这个问题?

小智 -3

可能已经晚了,但我正在回答,因此它可能对其他人有帮助,因为当我陷入困境时我也遇到了这个问题,并且我花了一些时间才找到正确的工具。

我们知道 openapi 规范在运行时可用,我们可以通过在本地运行应用程序来获得完整且正确的 openapi 规范,并且我们可以轻松地将此步骤集成到 CI/CD 管道中。

借助maven openapi 插件,您可以在集成阶段集成 openapi 生成,并根据您的要求保存自动生成的 openapi 规范。