Como exibir a documentação da API do aplicativo usando springdoc-openapi-webflux-ui?


8

Eu li esta https://springdoc.github.io/springdoc-openapi-demos/ documentação para usar o springdoc-openapi-webflux-ui. Como a documentação disse, acabei de adicionar a springdoc-openapi-webflux-uibiblioteca ao meu aplicativo:implementation('org.springdoc:springdoc-openapi-webflux-ui:1.2.26')

Além disso, eu personalizei o caminho para a API em application.yml:

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

Quando inicio o aplicativo e vou para http: // localhost: 8080 / swagger-ui.html , ele me redireciona para http: // localhost: 8080 / webjars / swagger-ui / index.html? ConfigUrl = / v3 / api -docs / swagger-config . Nessa página, recebi um erro:

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

A pergunta é: devo adicionar configurações adicionais ao meu aplicativo para mostrar a documentação da API?

PS: Eu uso spring.boot 2.2.2: LANÇAMENTO


No entanto, sou capaz de obter a documentação do localhost: 8080 / v3 / api-docs, que me fornece o arquivo json.
Seydazimov Nurbol 22/01

Respostas:


2

Por padrão, você só precisa adicionar a dependência do springdoc-openapi-webflux-ui.

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

Você pode dar uma olhada no código de demos:

Você pode verificar seu caminho de classe e tentar executar o aplicativo fora do IDE. Verifique se você tem as configurações corretas do seu IDE, dependendo das ferramentas de construção:

Além disso, verifique se você está usando @EnableWebFlux.

Conforme declarado na documentação de referência do Spring Boot, ao usar o @EnableWebFlux, você diz ao Spring Boot que deseja assumir o controle total da configuração do WebFlux e desabilita toda a configuração automática para isso (incluindo recursos estáticos):

Você tem duas soluções:

  1. Remover @EnableWebFlux
  2. Se você realmente deseja assumir o controle da criação do Bean e deseja absolutamente usar o @EnableWebFlux, precisará adicionar uma implementação do WebFluxConfigurer.

Isso foi discutido aqui:


Não estou executando um aplicativo do IDE.
Seydazimov Nurbol 24/01
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.