@ControllerAdvice

여러 @Controller에 걸쳐 전역 예외 처리, 데이터 바인딩, 모델 속성 공유를 담당하는 어노테이션입니다.

주요 기능

기능사용 어노테이션
예외 처리@ExceptionHandler
데이터 바인딩@InitBinder
모델 속성 공유@ModelAttribute

기본 사용 예시

@ControllerAdvice
public class GlobalExceptionHandler {

    @ExceptionHandler(IllegalArgumentException.class)
    public ResponseEntity<String> handleIllegal(IllegalArgumentException e) {
        return ResponseEntity.badRequest().body(e.getMessage());
    }
}

@RestControllerAdvice

@ControllerAdvice + @ResponseBody의 결합입니다. REST API에서 JSON 에러 응답을 반환할 때 사용합니다.

핵심 정리

→ ControllerAdvice에 대해 설명해주세요

CSLOG에서 보기