-SpringBoot+스프링 시큐리티 구성에 Swagger를 추가 설정한뒤 서버구동시 에러 발생
[에러 로그]
org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException: Cannot invoke "org.springframework.web.servlet.mvc.condition.PatternsRequestCondition.toString()" because the return value of "springfox.documentation.spi.service.contexts.Orderings.patternsCondition(springfox.documentation.RequestHandler)" is null
Caused by: java.lang.NullPointerException: Cannot invoke "org.springframework.web.servlet.mvc.condition.PatternsRequestCondition.toString()" because the return value of "springfox.documentation.spi.service.contexts.Orderings.patternsCondition(springfox.documentation.RequestHandler)" is null
✔ Solution
검색을 해봤지만 정확한 원인을 찾기는 힘들었고
https://www.baeldung.com/swagger-2-documentation-for-spring-rest-api 문서를 발견했다
위 문서를 살펴보면dependency에 대한 내용이 나오는데
나는 <parent>의 spring-boot-starter-parent버전을
기존값인 2.6.0에서 -> 2.4.0으로 변경한뒤 해결했다
기존의 pom.xml의 내용중
<!-- 기존 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.0-SNAPSHOT</version>
<relativePath />
</parent>
<!-- 버전 변경후 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.0-SNAPSHOT</version>
<relativePath />
</parent>
자세한 이유는 잘 모르겠지만
스프링부트와 Swagger의 버전호환 문제인것 같다
Swagger연동을 위해 pom.xml에 추가된 디펜던시
<!-- Swagger -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>