-
Spring boot3에서 Swagger Springdoc 사용하기 - maven자바 2024. 1. 9. 18:26
swagger fox 대신 doc 쓰는 이유
- fox는 업데이트 이제 안 됨
- spring 3 이상의 버전에서는 fox를 쓰면 이러한 에러가 발생
-
더보기Application run failed org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper' at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:287)
이 오류 로그는 Spring Boot 애플리케이션을 실행하는 동안 발생한 문제를 보여줍니다. documentationPluginsBootstrapper 빈을 시작하는 동안 NullPointerException이 발생했음을 알려줍니다.해당 오류는 WebMvcPatternsRequestConditionWrapper 클래스의 getPatterns() 메서드에서 NullPointerException이 발생하고 있습니다. 이는 this.condition이 null일 때 발생하는 문제입니다. 이러한 종류의 예외는 대부분 해당 객체가 초기화되지 않았거나, 적절한 값이 설정되지 않았을 때 발생합니다.
해당 오류를 해결하기 위해서는 WebMvcPatternsRequestConditionWrapper 클래스와 관련된 설정 또는 빈 구성에 문제가 있을 가능성이 높습니다. 또한 Springfox 또는 Swagger와 관련된 설정에서 문제가 발생할 수 있습니다.
-
- doc는 충돌 안 남
<dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId> <version>2.0.2</version> </dependency>
pom.xml에 다음 추가
springdoc: packages-to-scan: com.fisa.infra default-consumes-media-type: application/json;charset=UTF-8 default-produces-media-type: application/json;charset=UTF-8 swagger-ui: path: / disable-swagger-default-url: true display-request-duration: true operations-sorter: alpha
application.yml에 다음 추가하기
import io.swagger.v3.oas.models.Components; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.info.Info; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class SwaggerConfig { @Bean public OpenAPI openAPI() { return new OpenAPI() .components(new Components()) .info(apiInfo()); } private Info apiInfo() { return new Info() .title("Springdoc 테스트") .description("Springdoc을 사용한 Swagger UI 테스트") .version("1.0.0"); } }
SwaggerConfig.java
'자바' 카테고리의 다른 글
전략 디자인 패턴 (0) 2024.02.06 TDD (2) 2024.01.22 java 예외처리 throws와 try ~ catch 차이점 (1) 2023.12.13 stream API + 람다식 (1) 2023.12.12 annotation 종류 (1) 2023.12.11