๐ฎSpring
[Spring Boot] Spring Boot 2.6.2 Interceptor ์ถ๊ฐ
harry.93
2022. 1. 26. 22:22
๋ฐ์ํ
1. Interceptor ์์ฑ
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
@Component
public class defaultInterceptor implements HandlerInterceptor {
private Logger logger = LoggerFactory.getLogger(this.getClass());
/* ์ปจํธ๋กค๋ฌ ์คํ ์ ์ํ */
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
logger.info("[LOG] interceptor prehandle");
return true;
}
/* ์ปจํธ๋กค๋ฌ ์คํ ํ, ๋ทฐ ๋ ๋๋ง ์ ์คํ */
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
logger.info("[LOG] interceptor postHandle");
}
/* ์ปจํธ๋กค๋ฌ ์คํ ํ, ๋ทฐ ๋ ๋๋ง ํ ์คํ */
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
throws Exception {
logger.info("[LOG] interceptor afterCompletion");
}
}
2. ์ค์ ์ ์ฉํ๊ธฐ
import com.docker.bootsample.interceptor.defaultInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/* spring framework ์์ Bean ์์ ํ๋ ์ค์ ์ java๋ก ํ๊ฒ ๋๋ฉฐ ์ค์ ์ ์ด ๊ณณ์์ ํ๋ค. */
@Configuration
public class MvcConfig implements WebMvcConfigurer {
/* ์คํ ์, defaultInterceptor๋ฅผ ๊ฐ์ ธ์ ์ฃผ์
ํ์ฌ ์ฌ์ฉ */
@Autowired
private defaultInterceptor defaulInterceptor;
/* ์ธํฐ์
ํฐ ์ถ๊ฐํ๋ ๋ฉ์๋ */
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(defaulInterceptor) // ์ธํฐ์
ํฐ ์ถ๊ฐ
.addPathPatterns("/**") // ์ ์ฉํ ํจํด ์ถ๊ฐ
.excludePathPatterns(); // ์ ์ธํ ํจํด ์ถ๊ฐ
}
}
728x90
๋ฐ์ํ