Spring,Interceptor的excludePathPatterns函数无法正常工作

Ch *_*sar 0 java spring-mvc

我正在研究Spring Framework,我想编写一个拦截器,最后我写了它并且工作正常.但在某一点上,我不希望我的拦截器拦截用户想要注销并且会话失效的请求.但它并没有按照我的期望发生.

我通过扩展WebMvcConfigurerAdapter并使用addInterceptors方法添加拦截器,这里是代码.

public void addInterceptors(InterceptorRegistry registry) {
    super.addInterceptors(registry);
    registry.addInterceptor( loggerInterceptor );
    registry.addInterceptor( authenticationInterceptor ).excludePathPatterns("/invalidate");   
    }
Run Code Online (Sandbox Code Playgroud)

我在这里做错了吗?excludePathPatterns - >我的URL以/ invalidate结尾.所以请指导我,如何设置一个合适的模式.

Cha*_*har 7

你试过如下吗?

@Configuration
@EnableWebMvc
public class MyWebConfig extends WebMvcConfigurerAdapter 
{
  @Override
  public void addInterceptors(InterceptorRegistry registry) 
  {
    registry.addInterceptor(new MyCustomInterceptor())
            .addPathPatterns("/**")
            .excludePathPatterns("/foo/**");
  }
}
Run Code Online (Sandbox Code Playgroud)

参考

请参阅此java doc以获得更好的理解.

  • 我已经尝试过完全相同的事情,但它对我不起作用。我的拦截器正在捕获每个请求,而不是遵守 `excludePathPatterns(...)`。我有一个简单的控制器,我想处理一个特定的请求,但由于我的拦截器正在捕获所有请求而无法获取请求。 (2认同)