요구사항:
org.example.expert.domain.comment.controller.CommentAdminController 클래스의 deleteComment()org.example.expert.domain.user.controller.UserAdminController 클래스의 changeUserRole()로깅 구현 방법:
HttpServletRequest)를 사전 처리합니다.RequestBody)ResponseBody)@Around 어노테이션을 사용하여 어드민 API 메서드 실행 전후에 요청/응답 데이터를 로깅합니다.Logger 클래스를 활용하여 기록합니다.
API 접근이므로 컨트롤러 로깅
디스패처 서블릿 - 인터셉터 - 컨트롤러 사이에 위치
Spring이 제공하는 기술로써, 디스패처 서블릿(Dispatcher Servlet)이 컨트롤러를 호출하기 전과 후에 요청과 응답을 참조하거나 가공할 수 있는 기능을 제공
컨트롤러 호출 전에 실행
컨트롤러 호출 후에 실행
작동할 수 있도록 클래스를 빈(Bean)으로 등록해 주어야 하는데요. 이를 위해 WebMvcConfigurer 인터페이스를 구현한 설정 클래스가 필요
필터 동작 후에 서블릿, 인터셉터인데 필터에서 인증은 확인하는 건 못하는걸까?
스프링 컨텍스트 밖에 있어서그런가?
3.4.0 이하에선 지원을 안해준다 MockitoBean을......
관점 지향 프로그래밍
공통 관심사를 분리하여 중심 로직으로부터 서브 로직(공통 관심사)를 분리가능
AOP는 따로 어노테이션을 적용해줘야함
프록시 사용?