STUDY LOG

230728 STUDY LOG.

우진하다 2023. 7. 28. 18:18

오늘 공부.

[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