똑같은 삽질은 2번 하지 말자
Spring Boot에서 전역 에러 핸들러 등록(@ControllerAdvice, @RestControllerAdvice, @ExceptionHandler) 본문
Spring/Spring Boot
Spring Boot에서 전역 에러 핸들러 등록(@ControllerAdvice, @RestControllerAdvice, @ExceptionHandler)
곽빵 2020. 9. 2. 23:44@ControllerAdvice, @RestControllerAdvice
둘다 @Component이기 때문에 자동으로 빈으로 등록되며,
기본적인 차이는 @Controller <-> @RestController 의 차이와 비슷하다고 생각한다.
ArrayIndexOutOfBoundsException이 발생하면 내가 만든 커스텀 핸들러로 처리를 한다.
AppError 객체는 에러내용을 담기위해 임시로 만들어준 클래스
@RestControllerAdvice
public class GlobalExceptionController {
@ExceptionHandler(ArrayIndexOutOfBoundsException.class)
public ResponseEntity<Object> AIOOBHandler(ArrayIndexOutOfBoundsException e) {
AppError appError = new AppError();
appError.setCode("AIOO");
appError.setMessage("ArrayIndexOutOfBoundsException");
System.out.println("ArrayIndexOutOfBoundsException");
return new ResponseEntity<Object>(appError,HttpStatus.BAD_REQUEST);
}
}
@Data
public class AppError {
private String code;
private String message;
}
'Spring > Spring Boot' 카테고리의 다른 글
Spring으로 REST API No.5(Spring REST Docs ) (0) | 2020.07.09 |
---|---|
Spring으로 REST API No.4(Spring HATEOAS, ) (0) | 2020.07.02 |
Spring으로 REST API No.3(입력값 제한, ModelMapper, @Valid, Errors, JsonSerializer ) (0) | 2020.06.29 |
Spring으로 REST API No.2(도메인구현, 기본 요청 응답(201)테스트, ) (0) | 2020.06.28 |
Spring으로 REST API No.1(REST API , 프로젝트 구성) (0) | 2020.06.28 |
Comments