Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 자바
- 정처기
- 알고리즘
- 완전탐색알고리즘
- spring
- 생성자
- 어노테이션
- 빌드자동화도구
- 무중단배포
- 롬복사용시주의할점
- Java8
- Groovy문법
- 롬복
- controller
- PULL방식아키텍쳐
- 롬북
- 정처기필기
- 서버
- 정처기공부
- aws
- 정보처리기사
- Docker
- java
- 빌드스크립트
- 시계열디비
- 프로그래머스
- 정보처리기사필기
- API
- git
- CICD
Archives
- Today
- Total
우당탕탕 개발일지
[Spring] @ControllerAdvice / @RestControllerAdvice 란? 본문
- 전역적으로 예외를 핸들링할 수 있는 어노테이션
- 전 계층에서 발생한 예외를 한 곳에서 관리하고 처리할 수 있게 도와주는 어노테이션
- Custom Exception을 정의하여 사용 할 수 있음
@ControllerAdvice , @RestControllerAdvice 의 차이점
- 두 어노테이션의 차이는 @Controller 와 @RestController의 차이점과 동일
- @RestController 는 @ResponseBody가 포함되어 있어 응답을 JSON 형식으로 내려줌
@ExceptionHandler 란?
- @ControllerAdvice, @RestControllerAdvice와 함께 사용되어지는 어노테이션
- 위 어노테이션이 적용된 Bean 내에서 발생한 예외를 받아 처리할 수 있는 기능
- value 값을 가지고 있음 👉 value에 선언한 class의 예외만 처리함(value = 는 생략가능)
@RestControllerAdvice
public class ExceptionManager {
@ExceptionHandler(value = RuntimeException.class)
public ResponseEntity<?> runtimeExceptionHandler(RuntimeException e) {
//...
}
사용방법
exception 패키지를 생성하여 ExceptionManger 클래스로 @RestControllerAdvice를 사용하였음
클래스명은 원하는 걸로 지정해주어도 됨
@RestControllerAdvice
public class ExceptionManager {
@ExceptionHandler(RuntimeException.class)
public ResponseEntity<?> runtimeExceptionHandler(RuntimeException e) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
.body(e.getMessage());
}
}
'Spring' 카테고리의 다른 글
[Spring] 🔒 Spring Security - CoustomAuthenticationEntryPoint 코드 작성 (0) | 2023.01.09 |
---|---|
[Spring] 🔒 스프링 시큐리티(Spring Security) 란? (0) | 2023.01.03 |
[JPA] Pageable이란? (0) | 2022.12.25 |
[Spring] ResponseEntity 이란? (0) | 2022.12.22 |
💡 JWT(JSON Web Token) 이란? (0) | 2022.12.09 |