해당 ControllerAdvice 설정을 통해, 서버 내부의 Exception을 실제 사용자가 알 수 있는
Exception response로 변환하여 응답을 줄 수 있다.
아래와 같이 내부에서 InternalError Exception이 발생하였을 때,
실제 사용자에게는 400 BAD_REQUEST 로 응답이 가게 설정할 수 있다.
해당 응답을 통해, 실제 user에게 API 관점에서 error 원인을 알게 할 수 있다.
@ControllerAdvice
public class CommonExceptionHandler {
@ExceptionHandler(value = InternalError.class)
@ResponseStatus(code = HttpStatus.BAD_REQUEST,
reason = "internal error exception")
public void InternalErrorException() {
}
}
- Exception 발생시 서버 응답
{
"timestamp": 1494426563174,
"status": 400,
"error": "Bad Request",
"exception": "java.lang.InternalError",
"message": "internal error exception",
"path": "/test"
}
전체 예제는 아래 주소에서 확인할 수 있다.
https://gitlab.com/shashaka/exception-handling-project
댓글 없음 :
댓글 쓰기