반응형
String uuid = UUID.randomUUID().toString();
요청 로그를 구분하기 위해 uuid를 생성해 주었다.
//@RequestMapping: HandlerMethod
//정적 리소스 : ResourceHttpRequestHandler
if (handler instanceof HandlerMethod) {
HandlerMethod hm = (HandlerMethod) handler; //호출할 컨트롤러 메서드의 모든 정보가 포함되어있다.
}
HandlerMethod는 어떤 핸들러 매핑을 사용하는가에 따라 달라진다. @controller와 @RequestMapping을 통한 핸들러 매핑을 주로 사용하는데 이 경우 핸들러 정보로 HandlerMethod가 넘어온다.
@Configuration
public class WebConfig implements WebMvcConfigurer {
WebMvcConfigurer를 구현한다.
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new LogInterceptor())
.order(1)
.addPathPatterns("/**")
.excludePathPatterns("/css/**", "/*.ico", "/error"); // 모든걸 허용하지만 이것들은 뺼거야..라는 뜼이다.
}
WebMvcConfigurer가 제공하는 addInterceptors()를 사용해 인터셉터를 등록할 수 있다.
위에서부터 인터셉터를 등록하고, order를 통해 인터셉터의 호출 순서를 지정하고(낮을 수록 먼저 호출됨), 인터셉터를 적용할 URL 패턴을 지정하고, 인터셉터에서 제외할 패턴을 지정한다.
필터와 비교했을 때 인터셉터는 addPathPatterns와 excludePathPatterns로 매우 정밀하게 URL 패턴을 지정할 수 있다.
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술을 참고하여 공부하였습니다.
반응형
'Framework & Library > Spring Boot' 카테고리의 다른 글
[Spring Boot] : ArgumentResolver 활용 (0) | 2022.02.23 |
---|---|
[Spring Boot] : 스프링 인터셉터 - 인증 체크 (0) | 2022.02.23 |
[Spring Boot] : 스프링 인터셉터 (0) | 2022.02.23 |
[Spring Boot] : Servlet Filter 인증 체크하기 (0) | 2022.02.22 |
[Spring Boot] : Servlet Filter 요청 로그 확인하기 (0) | 2022.02.22 |
댓글