registry.addInterceptor(new LogInterceptor()).addPathPatterns("/api/**").excludePathPatterns("/api/iv3/**");

添加HandlerInterceptor后添加匹配路径:

1.**和*的区别

**可以匹配多层路径,而*只能匹配单层路径

2.一种方式:.addPathPatterns("/api/**").excludePathPatterns("/api/iv3/**")

spring拦截器

addPathPatterns和excludePathPatterns的源代码

两个方式是在两个分别的list里记录下来了要拦截和除开拦截的路径。

在匹配拦截的时候:

 

spring拦截器

匹配路径拦截的方法

如果符合所有的exclude路径,则直接返回false不进行拦截,然后再分别去看是否符合需要拦截的路径,有一符合则为true。

3.第二种方式:

 

spring拦截器

并行添加拦截器

 

spring拦截器

addInterceptor方法:

所以这种相当于添加了两个拦截器,所以是会判断两次来拦截的。

相关文章: