java - helidon项目中自动添加openapi文件

标签 java openapi helidon

我想要在我的 helidon 项目中自动生成 openapi 的工具(Java 1.8、helidon SE 1.3.1)

我阅读了文档/示例并制作:

  1. 在maven中添加依赖
  2. 在 META-INF 中添加 openapi.yml
  3. 添加路由器端点。
  4. 添加 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/

相关文章:

aws-cloudformation - 没有为方法定义集成(服务 : ApiGateway, 状态代码:400)

java - 如何使用 helidon-se 读取表单参数

java - Helidon自定义拦截器

java - com.google.api.config.ServiceConfigSupplier - 无法获取服务的默认配置版本(仅在本地主机上)

Swagger Editor 3.8 示例不适用于引用数组模式

Java Generics - 关于 Greater Than Method with Objects 的快速问题

java - 创建一个与另一个与原始对象有关系的对象有什么含义?

java - 为什么 OutputStream.write() 关闭套接字连接?

java - 由于守护线程,Jmeter 未完成