Автоматическое добавление файла openapi в проект helidon - PullRequest
1 голос
/ 08 октября 2019

Мне нужен инструмент для автоматической генерации openapi в моем проекте helidon (Java 1.8, helidon SE 1.3.1)

Я прочитал документацию / пример и сделал:

  1. Добавление зависит отmaven
  2. добавьте openapi.yml в META-INF
  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, я делаю документацию теперь)

1 Ответ

2 голосов
/ 17 октября 2019

Как отметил OP, Helidon SE не может автоматически сгенерировать документ OpenAPI для вашего приложения. Вы предоставляете либо статический openapi.yml файл или свой собственный читатель модели и / или классы фильтров. Вы можете предоставить статический файл и классы, если хотите, но это не обязательно. Для других заинтересованных читателей есть doc .

. Вероятно, большинство разработчиков, которым нужна поддержка OpenAPI в их приложении Helidon SE, будут использовать инструмент для определения своего API, а затем экспортировать документ OpenAPI из инструмента,добавив этот файл YAML в JAR приложения (обычно в META-INF/openapi.yml).

Обратите внимание, что если вы используете Helidon MP (который реализует MicroProfile OpenAPI) и добавляете обычные аннотации JAX-RS к вашим конечным точкам, то Helidon MP может сгенерировать документ OpenAPI для вас автоматически. Вот документ для этого.

...