interceptor 인터셉터 사용하는 법
특정 영역(컨트롤러의 메소드)에서 반복적으로 실행되는 내용을 정의
검문소 역할을 합니다!
InterceptorConfig: 인터셉터가 언제 실행될지 설정하는 곳. 하나만 만들면 됨
Interceptor: 실행 기능을 만드는 곳. 기능마다 여러개 생성
Interceptor 클래스 만들기
HandlerInterceptor 인터페이스를 구현해줍니다.
HandlerInterceptor에 정의된 메소드 구현
preHandle()
: 컨트롤러의 메소드가 실행되기 전에 검문소 설치
postHandle()
: 컨트롤러의 메소드가 실행되고 html이 실행되기 전에 검문소 설치
afterCompletion()
: html이 실행된 후 검문소 설치
인터셉터를 Config에서 사용해주기 위해 @Component 추가해서 빈에 등록해줍니다!
InterceptorConfig 클래스 만들기
WebMvcConfigurer 인터페이스를 구현해줍니다.
addInterceptors() 메소드 구현
사용할 인터셉터객체를 사용하기 위해
생성자를 통한 의존성 주입을 해줍니다.
@Configuration
@RequiredArgsConstructor
private final Interceptor interceptor;
registry.addInterceptor(인터셉터명)
.addPathPattrns()
인터셉터를 실행시킬 경로를 넣어줍니다.
이렇게 경로를 여러개 추가할 수 있기 때문에
반복 실행시킬 메소드를 설정해주면 됨!
여기서 ** 는 /item/전체/전체
.excludePathPatterns()
: 제외시킬 페이지
비동기통신이랑
static폴더는 제외시켜주어야
오류가 안 납니다!!