Springboot添加拦截器配置excludePathPatterns不生效
Code
@Configuration
public class ServiceConfig implements WebMvcConfigurer {
@Autowired
LoginInterceptor loginInterceptor;
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(loginInterceptor).addPathPatterns("/**").excludePathPatterns("/admin/checkLogin");
WebMvcConfigurer.super.addInterceptors(registry);
}
}
原因:
当访问***/admin/checkLogin
路径时时,代码有bug触发了错误,这时路径被重定向为***/error
,可以通过HttpServletRequest#getRequestURL
检查,由于***/error
不在excludePathPatterns
中所以会被拦截器拦截。
解决方法:
-
解决
excludePathPatterns
访问路径的代码bug,就会生效。 -
添加
***/error
路径到excludePathPatterns
中