¿Cómo mostrar la documentación de la API de la aplicación mediante springdoc-openapi-webflux-ui?

8

Leí esta https://springdoc.github.io/springdoc-openapi-demos/ documentación para usar springdoc-openapi-webflux-ui. Como dice la documentación, acabo de agregar la springdoc-openapi-webflux-uibiblioteca a mi aplicación:implementation('org.springdoc:springdoc-openapi-webflux-ui:1.2.26')

Además, personalicé la ruta a la API en application.yml:

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

Cuando inicio la aplicación y voy a http: // localhost: 8080 / swagger-ui.html , me redirige a http: // localhost: 8080 / webjars / swagger-ui / index.html? ConfigUrl = / v3 / api -docs / swagger-config . En esa página, recibí un error:

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

La pregunta es: ¿Debo agregar configuraciones adicionales a mi aplicación para mostrar la documentación de la API?

PD: uso spring.boot 2.2.2: LIBERACIÓN

Seydazimov Nurbol
fuente
Sin embargo, puedo obtener la documentación de localhost: 8080 / v3 / api-docs que me da el archivo json.
Seydazimov Nurbol

Respuestas:

2

Por defecto, solo necesita agregar la dependencia de springdoc-openapi-webflux-ui.

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

Puedes echar un vistazo al código de demostración:

Puede verificar su classpath e intentar ejecutar la aplicación desde fuera del IDE. Asegúrese de tener la configuración correcta de su IDE según sus herramientas de compilación:

Además, compruebe si está utilizando @EnableWebFlux.

Como se indica en la documentación de referencia de Spring Boot, cuando usa @EnableWebFlux, le dice a Spring Boot que desea tomar el control total sobre la configuración de WebFlux y deshabilita toda la configuración automática para esto (incluidos los recursos estáticos):

Tienes dos soluciones:

  1. Eliminar @EnableWebFlux
  2. Si realmente quiere tomar el control de la creación de Bean y quiere usar absolutamente @EnableWebFlux, entonces necesita agregar una implementación de WebFluxConfigurer.

Esto se ha discutido aquí:

sable ouled
fuente
No estoy ejecutando una aplicación desde IDE.
Seydazimov Nurbol