Spring

springdoc-openapi-webflux-ui를 사용하여 앱 API 문서를 표시하는 방법은 무엇입니까?

기록만이살길 2022. 11. 7. 19:05
반응형

springdoc-openapi-webflux-ui를 사용하여 앱 API 문서를 표시하는 방법은 무엇입니까? 물어보다

1. 질문(문제점):

나는 springdoc-openapi-webflux-ui를 사용하기 위해 https://springdoc.org/demos.html 을 읽었다. 설명서에 따르면 방금 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 문서를 표시하려면 내 앱에 추가 구성을 추가해야 합니까?

추신: 나는 spring.boot 2.2.2:RELEASE를 사용합니다.

2. 해결방안:

기본적으로 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에 알립니다.

두 가지 솔루션이 있습니다.

  1. @EnableWebFlux 제거
  2. Bean 생성을 제어하고 @EnableWebFlux를 절대적으로 사용하려면 WebFluxConfigurer 구현을 추가해야 합니다.

이것은 여기에서 논의되었습니다:

59817409
반응형