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

标签 spring maven swagger openapi

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

最佳答案

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

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

maven openapi plugin的帮助下您可以在集成阶段集成 openapi 生成并根据您的要求保存自动生成的 openapi 规范。

关于spring - 在编译/构建时从 Spring 代码生成 OpenAPI V3 规范,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67027632/

相关文章:

Java 注释无法从 Kotlin 项目 jar 中使用

java - 用于两种不同 URL 模式的 Spring mvc Swagger UI 端点

java - 函数参数不兼容

java - Spring上传多个文件如何识别每个文件?

java - Spring中servlet被销毁时如何捕获Configuration类中的回调?

windows - 无法在 Intellij 中运行 Maven 任务 - Maven 主页无效

java - 为什么我会收到 java.lang.Exception : No runnable methods exception in this test class?

Java 9 模块测试错误

google-app-engine - 从 Java Cloud Endpoint 生成 API 文档

c# - 当授权标签不包含角色时,我没有收到范围复选框,Ajax 授权请求也不发送范围