오늘 공부.
[FE] 자바스크립트 + HTML
HTML 튜토리얼 - HTML class Attribute
JavaScript 튜토리얼 - JavaScript Const
[BE] 스프링 강의 수강 및 정리
Chapter 02. 예외 처리하기 |
Chapter 03. API document 만들기 |
[코딩테스트] 정렬 관련 문제 풀기 및 정리 / 프로그래머스 단계별로 풀기 및 정리
[오늘 정리]
@RestControllerAdvice는 스프링 프레임워크에서 예외를 전역적으로 처리하는 기능을 제공하는 어노테이션입니다. 이 어노테이션은 @ControllerAdvice와 @ResponseBody를 합친 것으로 보면 되며, 컨트롤러 전반에 걸친 @ExceptionHandler, @InitBinder 또는 @ModelAttribute 등의 메소드를 정의하는데 사용됩니다.
이 어노테이션을 사용하면 개별 컨트롤러에서 예외 처리 로직을 반복해서 작성하는 수고를 덜고 코드의 중복성을 줄일 수 있습니다.
@RestControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(value = {IllegalArgumentException.class})
public ResponseEntity<String> handleIllegalArgumentException(IllegalArgumentException e) {
// 모든 컨트롤러에서 발생하는 IllegalArgumentException에 대해 처리
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(e.getMessage());
}
}
위의 코드는 IllegalArgumentException이 발생했을 때 해당 예외를 처리하는 메소드를 정의한 것입니다. 이렇게 하면 프로젝트 내의 모든 컨트롤러에서 발생하는 IllegalArgumentException은 이 메소드를 통해 처리됩니다.
참고로, 이러한 전역 예외 처리자는 특정 예외 클래스에 한정되지 않고 여러 예외 클래스를 처리할 수 있습니다. 이를 위해 @ExceptionHandler 어노테이션에 예외 클래스 배열을 지정하면 됩니다.
마지막으로, @RestControllerAdvice는 특정 패키지나 패키지 범위를 지정하여 적용 범위를 제한할 수도 있습니다. 이는 @ControllerAdvice와 마찬가지로, @RestControllerAdvice("com.example")와 같은 방식으로 지정하면 됩니다.
오늘 후기.
두번째 프로젝트 강의 완료, 추가기능 구현은 내일부터 차근차근 마무리하고
빨리 세번째, 네번째, 다섯번째 마무리해야지.
날씨가 무덥다. 지치지말고 끝까지 완주하기로 한 결심 잊지말아요 !
'STUDY LOG' 카테고리의 다른 글
230730 STUDY LOG. (0) | 2023.07.31 |
---|---|
230729 STUDY LOG. (2) | 2023.07.30 |
230727 STUDY LOG. (0) | 2023.07.28 |
230726 STUDY LOG. (0) | 2023.07.27 |
230724 STUDY LOG. (0) | 2023.07.25 |