我想要在我的 helidon 项目中自动生成 openapi 的工具(Java 1.8、helidon SE 1.3.1)
我阅读了文档/示例并制作:
- 在maven中添加依赖
- 在 META-INF 中添加 openapi.yml
- 添加路由器端点。
- 添加 apifilter 和 apimodelreader
pom.xml:
<dependency>
<groupId>io.helidon.openapi</groupId>
<artifactId>helidon-openapi</artifactId>
<version>1.3.1</version>
</dependency>
main.java:
return Routing.builder()
.register(JsonSupport.create())
.register(health) // Health at "/health"
.register(metrics) // Metrics at "/metrics"
.register("/file", fileService)
.register("/card", cardService)
.register(OpenAPISupport.create(config))
.build();
application.yaml
openapi:
filter: ru.ittest.feezio.openapi.SimpleAPIFilter
model:
reader: ru.ittest.feezio.openapi.SimpleAPIModelReader
现在我在端点中有 openapi 文档:http://127.0.0.1:8456/openapi 这是我的 openapi.yml。但我不想手动编写 openapi.yml,我想为我的类自动生成 yml:fileService 和 cardService。该类工作并响应成功(API 工作,我现在制作文档)
最佳答案
正如 OP 所指出的,Helidon SE 无法自动为您的应用生成 OpenAPI 文档。您提供任一静态 openapi.yml
文件或您自己的模型读取器和/或过滤器类。如果需要,您可以提供静态文件和类,但这不是必需的。对于其他感兴趣的读者,这里是 doc .
可能大多数希望 Helidon SE 应用程序支持 OpenAPI 的开发人员都会使用工具来定义其 API,然后从该工具导出 OpenAPI 文档,将该 YAML 文件添加到其应用程序 JAR 中(通常位于 META-INF/openapi.yml
)。
请注意,如果您使用 Helidon MP(实现 MicroProfile OpenAPI)并将普通 JAX-RS 注释添加到端点,那么 Helidon MP 可以自动为您生成 OpenAPI 文档。这是the doc为此。
关于java - helidon项目中自动添加openapi文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58283945/