Микропрофиль создает файл Open-Api при сборке - PullRequest
0 голосов
/ 10 октября 2019

до использования Eclipse Microprofile мы сгенерировали наши файлы open-api через io.openapitools.swagger:swagger-maven-plugin. Этот плагин основан на зависимости io.swagger.core.v3:swagger-annotations maven.

Eclipse Microprofile, однако, имеет другую зависимость, которой, по-видимому, недостаточно для плагина openapitools, поэтому созданный файл open-api не содержит никаких описаний идругие данные, представленные в аннотациях.

Знаете ли вы способ создания файла определения open-api с использованием зависимостей микропрофиля?

Ниже приведена конфигурация для плагина openapitools swagger.

<plugin>
<groupId>io.openapitools.swagger</groupId>
<artifactId>swagger-maven-plugin</artifactId>
<version>2.1.0</version>
<executions>
    <execution>
        <id>default</id>
        <phase>verify</phase>
        <goals>
            <goal>generate</goal>
        </goals>
        <inherited>true</inherited>
        <configuration>
            <useResourcePackagesChildren>true</useResourcePackagesChildren>
            <outputDirectory>${project.build.directory}/open-api/</outputDirectory>
            <outputFormats>JSON,YAML</outputFormats>
            <prettyPrint>false</prettyPrint>

            <resourcePackages>
                <resourcePackage>...</resourcePackage>
            </resourcePackages>
            <outputFilename>...</outputFilename>
        </configuration>
    </execution>
</executions>

1 Ответ

0 голосов
/ 14 октября 2019

Единственное, что я нашел на данный момент, - это плагин, созданный проектом Apache Geronimo : Плагин Geronimo OpenAPI Maven . Пример на их странице GitHub показывает, как его использовать.

<plugin>
  <groupId>org.apache.geronimo</groupId>
  <artifactId>geronimo-openapi-maven-plugin</artifactId>
  <version>${openapi.version}</version>
  <executions>
    <execution>
      <id>generate-openapi.json</id>
      <goals>
        <goal>openapi.json</goal>
      </goals>
      <configuration>
        <application>com.test.MyApp</application>
        <endpointClasses>
          <endpointClass>com.test.SomeEndpoint</endpointClass>
          <endpointClass>com.test.SomeOtherEndpoint</endpointClass>
        </endpointClasses>
        <info>
          <version>1</version>
          <title>My Title</title>
          <description>Bla Bla</description>
        </info>
      </configuration>
    </execution>
  </executions>
</plugin>

К сожалению, документация довольно тонкая. Судя по списку зависимостей, он также поддерживает формат YAML.

...