Spring Boot

예외 처리

@ControllerAdvice, @ExceptionHandler, @ResponseStatus를 사용한 예외 처리, 오류 표준화

25 면접 질문·
Mid-Level
1

Spring MVC에서 @ControllerAdvice란 무엇입니까?

답변

@ControllerAdvice를 사용하면 애플리케이션의 모든 컨트롤러에 대한 예외 처리를 중앙 집중화할 수 있습니다. 이 애너테이션은 임의의 @Controller 또는 @RestController가 던진 예외를 가로채는 전역 컴포넌트를 생성합니다. 이를 통해 각 컨트롤러에서 오류 처리 로직을 중복하는 것을 방지하고 오류 응답의 일관성을 높입니다.

2

컨트롤러에서 특정 예외를 처리하려면 어떻게 해야 합니까?

답변

@ExceptionHandler를 사용하면 컨트롤러나 @ControllerAdvice 내에서 하나 이상의 특정 예외를 처리하는 메서드를 정의할 수 있습니다. 애너테이션이 붙은 메서드는 지정된 예외가 던져질 때 자동으로 호출됩니다. ResponseEntity를 반환하여 HTTP 상태와 응답 본문을 제어할 수 있습니다.

3

예외 클래스에 붙이는 @ResponseStatus의 목적은 무엇입니까?

답변

사용자 정의 예외에 붙인 @ResponseStatus는 해당 예외를 특정 HTTP 상태 코드에 자동으로 매핑할 수 있게 합니다. 예외가 던져지면 Spring은 @ExceptionHandler 없이도 지정된 HTTP 상태를 자동으로 반환합니다. 이 방식은 HTTP 상태에 직접 대응하는 단순한 예외의 코드를 간소화합니다.

4

@Valid를 사용한 검증이 실패하면 어떤 예외가 던져집니까?

5

Spring 6 이상에서 ProblemDetail이란 무엇입니까?

+22 면접 질문

다음 면접을 위해 Spring Boot을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기