web-dev-qa-db-ja.com

springdoc-openapi-webflux-uiを使用してアプリAPIドキュメントを表示する方法

私はこれを読んで https://springdoc.github.io/springdoc-openapi-demos/ ドキュメントを読み、springdoc-openapi-webflux-uiを使用します。ドキュメントが言ったように、私は_springdoc-openapi-webflux-ui_ライブラリをアプリに追加しました:implementation('org.springdoc:springdoc-openapi-webflux-ui:1.2.26')

さらに、application.ymlでAPIへのパスをカスタマイズしました。

_springdoc:
  swagger-ui:
    path: /swagger-ui.html
_

アプリを起動して http:// localhost:8080/swagger-ui.html にアクセスすると、 http:// localhost:8080/webjars/swagger-uiにリダイレクトされます/index.html?configUrl=/v3/api-docs/swagger-config 。そのページで、エラーが発生しました:

_Whitelabel Error Page
This application has no configured error view, so you are seeing this as a fallback.
Mon Jan 20 05:16:10 UTC 2020
[7192d9dc] There was an unexpected error (type=Not Found, status=404).
No matching handler
_

質問です:アプリに追加の構成を追加してAPIドキュメントを表示する必要がありますか?

PS:私はspring.boot 2.2.2:RELEASEを使用します

8

デフォルトでは、springdoc-openapi-webflux-uiの依存関係を追加するだけです。

 <dependency>
      <groupId>org.springdoc</groupId>
      <artifactId>springdoc-openapi-webflux-ui</artifactId>
      <version>1.2.32</version>
   </dependency>

デモコードを見ることができます:

クラスパスを確認して、IDEの外部からアプリケーションを実行してみてください。ビルドツールに応じてIDEの設定が正しいことを確認してください:

また、@ EnableWebFluxを使用しているかどうかを確認してください。

Spring Bootのリファレンスドキュメントに記載されているように、@ EnableWebFluxを使用する場合は、WebFlux構成を完全に制御し、これに関するすべての自動構成(静的リソースを含む)を無効にすることをSpring Bootに指示します。

あなたには2つの解決策があります:

  1. @EnableWebFluxを削除します。
  2. Beanの作成を本当に制御したいが、@ EnableWebFluxを絶対に使用したい場合は、WebFluxConfigurerの実装を追加する必要があります。

これはここで議論されました:

2
ouled saber