springboot定义拦截器
首先定义一个拦截器类 实现 HandlerInterceptor
里面的三个方法,分别是执行前运行,执行时运行,执行后运行的。
imple`public class MyInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println(“preHandle”);
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
System.out.println("postHandle");
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
System.out.println("afterCompletion");
}
然后定义一个配置类 实现WebMvcConfigurer
注入上面定义的类MyInterceptor,然后配置拦截路径。
@Configuration
public class Config implements WebMvcConfigurer {
@Bean
MyInterceptor myInterceptor(){
return new MyInterceptor();
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(myInterceptor()).addPathPatterns("/**");
}
}
此处我配置了全路径拦截。显示结果如下: