SpringBoot 请求拦截器

首先定义拦截器,拦截时机

1
2
3
4
5
6
7
8
9
//继承父类
public class LoginInterceptor implements HandlerInterceptor {
@Override
//请求实际可以查看HandlerInterceptor父类
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("LoginInterceptor");
return true;
}
}

在config中进行注册,否则不生效

1
2
3
4
5
6
7
8
9
10
11
@Configuration
public class WebConfig implements WebMvcConfigurer {

@Override
public void addInterceptors(InterceptorRegistry registry) {
//过滤器,只有在user下级请求中才会拦截
registry.addInterceptor( new LoginInterceptor()).addPathPatterns("/user/**");
}


}

然后就可以实现逻辑了,例如访问[localhost:8080/user/110控制台自动打印LoginInterceptor。