web-dev-qa-db-ja.com

springdoc-openapi-maven-plugin configuration / apiDocsUrlの機能は何ですか?

Springdoc-openapi-maven-pluginを次の(標準)構成で実行しています。

        <plugin>
            <groupId>org.springdoc</groupId>
            <artifactId>springdoc-openapi-maven-plugin</artifactId>
            <version>0.2</version>
            <executions>
                <execution>
                    <id>integration-test</id>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

プラグインは実行されているように見えますが、出力はありません。

Maven出力で404エラーが発生します。

[INFO] --- springdoc-openapi-maven-plugin:0.2:generate (integration-test) @ paatinc-util-websrv ---
10:40:33.930 [http-nio-8080-exec-1] INFO  o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
10:40:33.931 [http-nio-8080-exec-1] INFO  o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
10:40:33.956 [http-nio-8080-exec-1] INFO  o.s.web.servlet.DispatcherServlet - Completed initialization in 25 ms
10:40:33.969 [http-nio-8080-exec-1] INFO  io.paat.util.filter.LoggingFilter - GET http://localhost:8080/v3/api-docs from 127.0.0.1
[ERROR] An error has occured: Response code 404

私のログから、404が次の呼び出しにあることがわかります http:// localhost:8080/v3/api-docs

また、springdoc-openapi-maven-plugin docsに次の構成が表示されます。

 <configuration>
  <apiDocsUrl>http://localhost:8080/v3/api-docs</apiDocsUrl>
  <outputFileName>openapi.json</outputFileName>
  <outputDir>/home/springdoc/maven-output</outputDir>
 </configuration>

そのため、プラグインは統合テスト中にローカルサーバーを開こうとし、失敗しているようです。これのポイントは何ですか?プラグインがソースファイルを読み取ってopenapi.jsonファイルを生成すると考えました。/v3/api-docsにHTTP接続する必要があるのはなぜですか?

5
KevinB

まず、このMaven依存関係をプロジェクトに追加します

    <dependency>
        <groupId>org.springdoc</groupId>
        <artifactId>springdoc-openapi-ui</artifactId>
        <version>1.3.2</version>
        <scope>compile</scope>
    </dependency>

2番目にMavenプラグインを実行可能にします

    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <executions>
                <execution>
                    <id>pre-integration-test</id>
                    <goals>
                        <goal>start</goal>
                    </goals>
                </execution>
                <execution>
                    <id>post-integration-test</id>
                    <goals>
                        <goal>stop</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.springdoc</groupId>
            <artifactId>springdoc-openapi-maven-plugin</artifactId>
            <version>0.3</version>
            <executions>
                <execution>
                    <phase>integration-test</phase>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <outputFileName>openapi.json</outputFileName>
                <outputDir>${project.build.directory}/openapi-spec</outputDir>
            </configuration>
        </plugin>
    </plugins>
0
Erdinc Ay