Wie kann ich die App-API-Dokumentation mithilfe von springdoc-openapi-webflux-ui anzeigen?

8

Ich habe diese https://springdoc.github.io/springdoc-openapi-demos/ Dokumentation gelesen , um springdoc-openapi-webflux-ui zu verwenden. Wie in der Dokumentation angegeben, habe ich springdoc-openapi-webflux-uimeiner App gerade eine Bibliothek hinzugefügt :implementation('org.springdoc:springdoc-openapi-webflux-ui:1.2.26')

Zusätzlich habe ich den Pfad zur API in application.yml angepasst:

springdoc:
  swagger-ui:
    path: /swagger-ui.html

Wenn ich die App starte und zu http: // localhost: 8080 / swagger-ui.html gehe , werde ich zu http: // localhost: 8080 / webjars / swagger-ui / index.html? ConfigUrl = / v3 / api weitergeleitet -docs / swagger-config . Auf dieser Seite habe ich eine Fehlermeldung erhalten:

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

Die Frage ist: Soll ich meiner App zusätzliche Konfigurationen hinzufügen, um die API-Dokumentation anzuzeigen?

PS: Ich benutze spring.boot 2.2.2: RELEASE

Seydazimov Nurbol
quelle
Ich kann jedoch die Dokumentation von localhost: 8080 / v3 / api-docs abrufen, die mir die JSON-Datei gibt.
Seydazimov Nurbol

Antworten:

2

Standardmäßig müssen Sie nur die Abhängigkeit der springdoc-openapi-webflux-ui hinzufügen.

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

Sie können sich den Demo-Code ansehen:

Sie können Ihren Klassenpfad überprüfen und versuchen, die Anwendung von außerhalb der IDE auszuführen. Stellen Sie sicher, dass Sie die richtigen Einstellungen Ihrer IDE abhängig von Ihren Build-Tools haben:

Überprüfen Sie auch, ob Sie @EnableWebFlux verwenden.

Wie in der Spring Boot-Referenzdokumentation angegeben, teilen Sie Spring Boot bei Verwendung von @EnableWebFlux mit, dass Sie die vollständige Kontrolle über die WebFlux-Konfiguration übernehmen und alle automatischen Konfigurationen dafür deaktivieren möchten (einschließlich statischer Ressourcen):

Sie haben zwei Lösungen:

  1. Entfernen Sie @EnableWebFlux
  2. Wenn Sie wirklich die Kontrolle über die Bean-Erstellung übernehmen und @EnableWebFlux unbedingt verwenden möchten, müssen Sie eine Implementierung von WebFluxConfigurer hinzufügen.

Dies wurde hier diskutiert:

ouled Säbel
quelle
Ich führe keine App von IDE aus.
Seydazimov Nurbol