helidon项目自动添加openapi文件

Automatic add openapi file in helidon project

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

我读了 documenttation/example 并做了:

  1. 添加依赖maven
  2. 在 META-INF
  3. 中添加 openapi.yml
  4. 为路由器添加端点。
  5. 添加 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文件或者您自己的模型readerand/or过滤器类.如果需要,您可以提供静态文件和 类,但这不是必需的。对于其他感兴趣的 reader,这里是 doc

可能大多数希望在其 Helidon SE 应用程序中支持 OpenAPI 的开发人员将使用工具来定义其 API,然后从该工具导出 OpenAPI 文档,添加YAML 文件到他们的应用程序 JAR(通常在 META-INF/openapi.yml)。

请注意,如果您使用 Helidon MP(它实现了 MicroProfile OpenAPI)并将普通的 JAX-RS 注释添加到您的端点,那么 Helidon MP 可以为您生成 OpenAPI 文档自动地。这是 the doc