[英]Spring Boot Interceptor called anyway of exclude pattterns
已向以下人员注册拦截器:
@Override
protected void addInterceptors(final InterceptorRegistry registry) {
registry.addInterceptor(new ThymeleafLayoutInterceptor()).addPathPatterns("/**").excludePathPatterns("/json/**").excludePathPatterns("/static/**");
}
以我的理解,对于每个请求都应调用拦截器,但对于
/静态的/
要么
/ json /在他们的路径。 但是,拦截器似乎是从每个资源中调用的,也都是从路径中具有静态的资源调用的。
我的拦截器的PostHandle方法中的打印输出
final ResourceHttpRequestHandler h = (ResourceHttpRequestHandler) handler;
System.out.println(h.getLocations());
结果是
[class path resource [static/]]
我尝试过像
1. /静态/ **
2. / static / *,
3. / static /
4.静态/
这怎么可能?我该如何解决这个问题?
您两次调用excludePathPatterns。
这应该做的工作
@Override
protected void addInterceptors(final InterceptorRegistry registry) {
registry.addInterceptor(new ThymeleafLayoutInterceptor())
.addPathPatterns("/**")
.excludePathPatterns("/json/**", "/static/**");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.