为了账号安全,请及时绑定邮箱和手机立即绑定

无论如何调用排除模式的 Spring Boot 拦截器

无论如何调用排除模式的 Spring Boot 拦截器

白衣染霜花 2022-05-12 18:22:24
有一个拦截器注册到:@Overrideprotected void addInterceptors(final InterceptorRegistry registry) {    registry.addInterceptor(new ThymeleafLayoutInterceptor()).addPathPatterns("/**").excludePathPatterns("/json/**").excludePathPatterns("/static/**");}据我了解,应为每个请求调用拦截器,但不会为路径中带有/static/或/json/的请求调用拦截器。但是,拦截器似乎是从每个资源中调用的,也从路径中带有静态资源的资源中调用。我的拦截器的 PostHandle 方法中的打印输出final ResourceHttpRequestHandler h = (ResourceHttpRequestHandler) handler;System.out.println(h.getLocations());结果是[class path resource [static/]]我试过这样的模式1. /static/**2. /static/*,3. /static/4. static/这怎么可能,我该如何纠正这个问题?
查看完整描述

1 回答

?
梦里花落0921

TA贡献1772条经验 获得超6个赞

您正在调用 excludePathPatterns 两次。


这应该做的工作


@Override

protected void addInterceptors(final InterceptorRegistry registry) {

    registry.addInterceptor(new ThymeleafLayoutInterceptor())

            .addPathPatterns("/**")

            .excludePathPatterns("/json/**", "/static/**");

}


查看完整回答
反对 回复 2022-05-12
  • 1 回答
  • 0 关注
  • 128 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信