URL 매핑이 잘못되어 있을 때, 못 찾을 때
예외 처리 방법
올바른 URL: http://localhost:8080/v1/books/stats/ranking
올바르지 않은 URL : http://localhost:8080/v1/books/stats/rankings
이런 케이스에서 발생
@Getter
public enum ErrorType {
EXTERNAL_API_ERROR("외부 API 호출 에러 입니다."),
UNKNOWN("알 수 없는 에러입니다."),
INVALID_PARAMETER("잘못된 요청값입니다."),
NO_RESOURCE("존재하지 않는 리소스입니다.");
ErrorType(String description) {
this.description = description;
}
private final String description;
}
@Slf4j
@RestControllerAdvice
public class GlobalExceptionHandler {
/* other exception.. */
@ExceptionHandler(NoResourceFoundException.class)
public ResponseEntity<ErrorResponse> handleNoResourceException(NoResourceFoundException e) {
log.error("NoResourceFound Exception occurred. message={}, className={}", e.getMessage(), e.getClass().getName());
return ResponseEntity.status(HttpStatus.BAD_REQUEST)
.body(new ErrorResponse(ErrorType.NO_RESOURCE.getDescription(), ErrorType.NO_RESOURCE));
}
}
'Spring관련 기술 > 서버개발' 카테고리의 다른 글
MethodArgumentTypeMismatchException (0) | 2024.08.30 |
---|---|
MissingServletRequestParameterException (0) | 2024.08.30 |
멀티 모듈 관련 참고 문서 (0) | 2024.08.18 |
부하테스트 툴 Ngrinder (0) | 2024.02.17 |
Forward Proxy, Reverse Proxy, Load Balancer (0) | 2024.01.08 |