最近项目使用springboot,重写WebMvcConfigurer的addInterceptors()做拦截,
但由于项目中集成了静态资源,导致一直被拦截器处理,重写addResourceHandlers()方法也没用
后突然想到一种可能,是否拦截器配置的addPathPatterns("/**")导致静态资源被拦截
于是在addInterceptors()方法中排除静态资源excludePathPatterns("/static/**")
终于ok
总结:
如果拦截器addInterceptors()拦截所有addPathPatterns("/**"),
则需要拦截器排除excludePathPatterns("/static/**")
才能使重写的addResourceHandlers()方法中addResourceHandler("/static/**")生效
20200721追加:
当初为了实现特殊字符过滤 使用Filter包装HttpRequest,其中对请求头也进行了检查,因而导致静态资源一直响应码206,注释掉请求头的校验方法后正常