Swagger와 @RestControllerAdvice 충돌 문제

sinryuji·2025년 2월 17일
post-thumbnail

사용 버전

  • Java: 17
  • Spring Boot: 3.4.2
  • Swagger: 2.2.9

문제 상황

@RestControllerAdvice와 Swagger를 동시에 설정하고 스웨거 인덱시 페이지 진입 시 다음과 같은 에러 발생. ControllerAdviceBean의 init 함수가 존재하지 않는다고 나옴.

java.lang.NoSuchMethodError: 'void org.springframework.web.method.ControllerAdviceBean.<init>(java.lang.Object)'

원인 및 해결 방법

Spring Boot 3.4.0 이상의 버전에서 스웨거와 충돌이 발생하는 것으로 보임. @Hidden 어노테이션을 @RestControllerAdvice 클래스에 추가하여 임시적으로 해결 가능.

@Hidden
@RestControllerAdvice(annotations = RestController.class)
public class GlobalExceptionAdvice extends ResponseEntityExceptionHandler {

}

참고

https://stackoverflow.com/questions/79274106/how-to-use-both-restcontrolleradvice-and-swagger-ui-in-spring-boot

profile
응애 개발자입니다.

1개의 댓글

comment-user-thumbnail
2025년 5월 23일

감사합니다..

답글 달기