@RestControllerAdvice 어노테이션을 붙여준다.
-> () 안에 특정한 CLASS명을 입력해주면 해당 CLASS에서만 ExceptionHandler로 작동된다.
@RestControllerAdvice 를 적용한 CLASS에서
@ExceptionHandler를 붙인 메서드를 통해서 예외처리를 해줄수가 있다.
예를들어서 name, age 등등 데이터를 컨트롤러로 보내게 되었을떄
저 객체안에 모든 데이터들이 저장되게 된다.
-> 현재 요청에 대한 값을 담고 있는 인터페이스 이다.
Validator를 상속받는 클래스에서 객체값을 검증하는 방식이다.
-> Validator를 확인할떄 에러가 발생하였다면 그 에러를 저장해주는 역할이다.
말그대로 field에서 발생한 에러를 담고 있다.
사용자의 HttpRequest에 대한 응답 데이터를 포함하는 클래스.
-> 로그를 사용할수 있게 해주는 어노테이션
: log.info("User : {}",user);
filter를 사용할떄 사용하는 클래스
-> HttpServletRequest 보통은 이것을 사용하지만
이걸 사용하게 되면 값이 다 읽히고 나버린후 재사용이 불가능하기 떄문에
ContentCachingRequestWrapper를 사용하여 다시 Spring내에서 값을 읽을수 있게 해준다.
: 반드시 마지막에 추가해주어서 body에도 값을 추가해주어야 한다.
-> 윗 내용과 마찬가지로 읽을 값이 없어지기 떄문에 따로 복사해 추가해 주어야 한다.
== filter는 쓰레드와 굉장히 비슷한 원리로 작동이 된다.(역할은 다르다)
interceptor은 어떠한 내용을 정리해야 할지 잘 모르겠다;;
코딩에 있는 주석을 참고하는 것이 가장 좋은 방법일꺼 같다.
-> 이해가 안가는 class나 처음보는 어노테이션 등이 너무 적다