IntelliJ로 스프링 프로젝트 작업 중 swagger를 사용하기 위해 maven repository를 방문하여
SpringFox Boot Starter >> 3.0.0을 찾아
implementation group: 'io.springfox', name: 'springfox-boot-starter', version: '3.0.0'를
build.gradle 파일의 dependencies에 넣어주었다.
기존의 SprinfFox Swagger2, SpringFox Swagger UI를 추가하고 사용을 위해 어노테이션을 추가하는 등과 같은 번거로움을 해결할 수 있었기 때문에 SpringFox Boot Starter를 사용했다. 추가한 후, 다시 빌드를 하고 애플리케이션을 실행했다.
결과는 처참했다.
뜬금 NullPointerException.... 디버깅해서 재실행도 해봤고 나와 비슷한 증상을 겪는 사람들을 찾기 위해 많은 구글링을 시도했지만 내가 원하는 답을 찾을 순 없었다. 그러던 중 스택오버플로우에 나와 같은 증상을 겪는 사람을 찾았는데 도움 될 만한 답변이 있을까 보던 중 스프링부트 버전이 2.6.0을 넘어가면 이와 같은 오류가 뜬다고 하더라.
내가 진행하던 프로젝트의 스프링부트 버전은 전부 2.6.1이었기 때문에 얼른 새로운 프로젝트를 하나 생성해서 버전 설정하는 란에서 선택할 수 있는 제일 낮은 버전인 2.5.7을 선택하고 프로젝트를 생성했다. dependencies에 다시 SpringFox Boot Starter를 추가하고 재빌드하여 애플리케이션을 실행해본 결과,
흑흑.... 성공이다... 확인해보기 위해 주소창에 localhost:설정된 포트번호/swagger-ui/를 입력 후 엔터!
성공!! 이제 나도 Swagger를 사용할 수 있다구 ㅠㅠ
그런데 여기서 드는 한 가지 의문이 있었다. 이미 진행 중이던 프로젝트의 버전 변경은 어떻게 하지? 검색해보니까 이것저것 손 볼게 많아 보였는데 우선 나는 build.gradle 파일의 springframework.boot의 2.6.1로 적혀있는 것을
2.5.7로 바꾸고 다시 빌드하니 정상적으로 동작하고 swagger 역시 잘 실행되는 것을 확인할 수 있었다. 음... 너무 쉽게 되는 것 같아서 찝찝(?)하지만 일단 잘 되니까 기분은 좋다. 나와 같은 에러를 겪으시는 분께 조금이나마 도움이 되었으면 좋겠다.
★ Swagger 사용을 위한 SpringFox Boot Starter은 스프링부트 버전 2.6.0 이하에서만 사용하자!
'공부 > Spring boot' 카테고리의 다른 글
JUnit이란? (0) | 2021.12.07 |
---|---|
AOP (0) | 2021.12.06 |
IoC / DI (0) | 2021.12.05 |
Interceptor (0) | 2021.12.02 |
Spring Boot Filter (0) | 2021.12.01 |