티스토리 뷰
반응형
@ExceptionHandler
- 특정 예외가 발생했을 때 해당 예외를 처리하는 메서드를 정의하는데 사용
- @ControllerAdvice와 @RestControllerAdvice 클래스 내에 정의
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(ResourceNotFoundException.class)
public ResponseEntity<String> handleResourceNotFoundException(ResourceNotFoundException ex) {
return new ResponseEntity<>(ex.getMessage(), HttpStatus.NOT_FOUND);
}
@ExceptionHandler(Exception.class)
public ResponseEntity<String> handleGenericException(Exception ex) {
return new ResponseEntity<>(ex.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
}
}
@ResponseStatus
- 특정 예외가 발생했을 때 HTTP 상태 코드를 설정하는데 사용
- 예외 클래스에 @ResponseStatus 어노테이션을 적용해 자동으로 지정된 상태 코드와 이유를 반환
@ResponseStatus(HttpStatus.NOT_FOUND)
public class ResourceNotFoundException extends RuntimeException {
public ResourceNotFoundException(String message) {
super(message);
}
}
비교 테이블
@ExceptionHandler | @ResponseStatus | |
역할 | 예외 처리 로직을 커스터마이징 여러 예외 상황을 세밀히 제어 가능 |
예외 클래스에 선언하여 예외 발생 시 자동으로 특정 HTTP 상태 코드를 반환하는데 사용 |
우선순위 | @ResponseStatus 보다 우선 | - |
둘다 사용할 경우 주의사항
- RuntimeException extends 하고 @ReponseStatus 를 추가한 클래스를 정의
- @ExceptionHandler로 RuntimeException 예외 처리 로직 및 statusCode를 구현했을 경우
@ExceptionHandler에서 정의한 error코드가 우선 반환됨. 따라서 @ResponseStatus를 붙일 필요가 없음.
참고 사이트
https://www.baeldung.com/spring-response-status
이상 정리 끝.
반응형
'프레임워크 > Spring & Spring boot' 카테고리의 다른 글
기업정보 조회 API 개발 기록(2024.09.02 ~ 2024.09.30) (0) | 2024.10.06 |
---|---|
[JPA] 학습테스트로 알아보는 영속과 준영속 (feat. EntityManager) (0) | 2024.07.02 |
@NonNull, @Nonnull, @NotNull, @NotEmpty, @NotBlank 비교 (0) | 2024.06.17 |
[학습테스트로 배우는 Spring] 코드리뷰 (feat. 예외처리와 @RestControllerAdvice) (0) | 2024.06.16 |
[학습테스트로 배우는 Spring] 코드리뷰 (feat. Entity와 Dto 의존관계, 자료구조) (0) | 2024.06.14 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 백준
- Java
- thymeleaf
- JWT
- Comparable
- 나만의챗봇
- 객체정렬
- Comparator
- springboot
- NLU
- 챗봇
- RASA
- 회고록
- 코드트리
- BufferedReader
- 재기동
- 유데미
- 자바
- dxdy
- script
- Spring
- BufferedWriter
- 취업리부트코스
- 글또
- 코딩테스트
- 취리코
- 개발자취준
- BFS
- 항해99
- 전자정부프레임워크
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함
반응형