Spring boot 2.7.3에서 springfox 3.0.0 버전을 이용하기 위해 진행하던 중 아래와 같은 오류가 발생했다.
참 swagger는 버전 이슈가 정말 많은거 같다ㅜㅜ
1. 문제 발생 🤬
Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException
porm.xml - Dependency
1 2 3 4 5 6 7 8 9 10 | <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>3.0.0</version> </dependency> | cs |
SwaggerConfig Class
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | @Configuration @EnableSwagger2 public class SwaggerConfig { // CONTACT private static final Contact DEFAULT_CONTACT = new Contact("Kenneth Lee", "http://www.joneconsulting.co.kr","edowon@joneconsulting.co.kr" ); // API INFO private static final ApiInfo DEFAULT_API_INFO = new ApiInfo("Awesome API Title", "My User management REST API Service", "1.0", "urn:tos", DEFAULT_CONTACT, "Apache License Version 2.0", "http://www.apache.org/licenses/LICENSE-2.0", new ArrayList<>()); // PRODUCES AND CONSUMES --> application.yml private static final Set<String> DEFAULT_PRODUCES_AND_CONSUMES = new HashSet<>( Arrays.asList("application/json", "application/xml")); // localhost:8088/v2/api-docs @Bean public Docket DocumentApi(){ return new Docket(DocumentationType.SWAGGER_2) .apiInfo(DEFAULT_API_INFO) .produces(DEFAULT_PRODUCES_AND_CONSUMES) .consumes(DEFAULT_PRODUCES_AND_CONSUMES); } } | cs |
2. 문제 해결 😁
Spring boot 2.6버전 이후 spring.mvc.pathmatch.matching-strategy의 값이 ant_apth_matcher에서 path_pattern_parser로 변경되면서 swagger를 포함한 몇몇 라이브러리가 오류를 발생시킨다고 한다.
현재 저는 Spring boot 2.7.3을 사용중으로 applicaiton.yml 파일에 아래의 코드를 넣어줌으로써 문제를 해결했다.
application.yml
1 2 3 4 | spring: mvc: pathmatch: matching-strategy: ant_path_matcher | cs |
http://localhost:8088/swagger-ui/index.html#/
정상적으로 동작하는 것을 확인할 수 있다!
요약 👉 Springboot 2.6.x 이상에서 swagger를 사용할 경우, application.yml에 spring: mvc: pathmatch: matching-strategy: ant_path_matcher을 추가하자!
반응형
'Trouble Shooting' 카테고리의 다른 글
[Trouble Shooting] HTTP 리다이렉션 시 POST, PUT, DELETE (CUD)가 GET으로 바뀌는 문제점 (0) | 2023.10.23 |
---|---|
[Spring Boot] Actuator dependency와 Swagger Starter 3.0.0 충돌 에러 (0) | 2023.04.14 |
[Spring Boot] API Docs : Springdoc & Springfox-Swagger (0) | 2023.04.05 |