2

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

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

  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>

主.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();

应用程序.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 工作,我现在制作文档)

4

1 回答 1

3

正如 OP 所指出的,Helidon SE 无法为您的应用自动生成 OpenAPI 文档。您提供静态文件您自己的模型阅读器和/或过滤器类如果需要,您可以提供静态文件和类,但这不是必需的。对于其他感兴趣的读者,这里是docopenapi.yml

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

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

于 2019-10-16T21:04:41.837 回答