我有一个 Spring boot Gradle 项目,我想获取它的 OpenAPI 规范 YAML 文件。
据我了解官方swagger-core
不支持 Spring boot 项目,所以我找到了 springdoc-openapi
( https://github.com/springdoc/springdoc-openapi-gradle-plugin )。
似乎是为了获取 YAML/JSON 文件,在运行 generateOpenApiDocs
时任务,springdoc
库设置了一个带有一些端点(/v3/api-docs)的服务器来下载文件。
Execution failed for task 'generateOpenApiDocs'. Unable to connect to http://localhost:8080/v3/api-docs waited for 30 seconds
似乎由于某种原因它没有设置服务器。我该如何解决?
最佳答案
如果您使用 spring-boot 部署 REST API,则您依赖于 servlet 容器。
OpenAPI 规范的必要元数据仅在运行时由 spring 框架提供,这解释了在运行时生成的选择。
您可以在集成测试期间定义任何嵌入式 servlet 容器以生成 OpenAPI 规范。
关于springdoc-openapi 在没有服务器的情况下生成 openapi yaml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62616390/