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中所以會被攔截器攔截。
解決方法:
1,解決excludePathPatterns訪問路徑的代碼bug,就會生效。
2,添加***/error路徑到excludePathPatterns中