728x90
반응형
들어가기 전에
프로젝트를 진행하다가 오랜만에 Swagger2를 접근했더니, 로그에 WARN 에러가 잔뜩 쌓인 것을 발견했습니다. 오로지 한 것이라곤 swagger2 접속 뿐이었던터라, swagger2에 의한 exception임을 인지하고 관련하여서 구글링을 하여 찾은 해결법에 대한 포스팅입니다.
해결법
위 현상이 발생한 이유는 swagger2에서 던지는 에러에 대한 핸들링이 제대로 이루어지지 않아서라고 볼 수 있습니다. 이에 따라, swagger 버전은 2.9.2를 쓰되, swagger-models와 swagger-annotation에 대한 버전은 downgrade하여 사용해야 합니다.
- 아래 항목들 중, swagger-annotation은 따로 지정하지 않아도 위 에러가 발생하지 않는 것을 확인하였으나, 구글링 시 많은 사람들이 해당 항목 역시 downgrade하여 사용하기에 필자 역시 동일하게 설정했습니다.
Maven
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
<exclusions>
<exclusion>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
</exclusion>
<exclusion>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- https://mvnrepository.com/artifact/io.swagger/swagger-models -->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<version>1.5.21</version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<version>1.5.21</version>
</dependency>
Gradle
compile("io.springfox:springfox-swagger2:2.9.2") {
exclude module: 'swagger-annotations'
exclude module: 'swagger-model'
}
compile("io.swagger:swagger-annotations:1.5.21")
compile("io.swagger:swagger-models:1.5.21")
참고 사항
기존에 존재하던 springfox-swagger-ui에 대한 dependencies는 제거하면 작동하지 않습니다. 반드시, springfox-swagger2에 대해서만 추가 설정해야 합니다.
참고 자료
728x90
반응형
'FRAMEWORK > Spring' 카테고리의 다른 글
[Querydsl, pageable] slice를 이용한 무한 스크롤 (0) | 2021.10.29 |
---|---|
[Enum] enum에 연결된 값을 통해 enum값 알아내기 (0) | 2021.10.26 |
[Springboot, JWT] JWT를 이용한 소셜 로그인 구현하기 - Kakao/Google (0) | 2021.10.11 |
[Springboot, IntelliJ] Re-run Spring Boot Configuration Annotation Processor to update generated metadata (0) | 2021.10.04 |
[SpringBoot] 게시판 만들기 v2.2 (머스테치로 화면 구성하기) (1) | 2021.04.25 |