InterceptorRegistration中addPathPatterns和excludePathPatterns使用中注意事项
时间: 2024-05-06 17:16:34 浏览: 8
在使用 InterceptorRegistration 中的 addPathPatterns 和 excludePathPatterns 时,需要注意以下几点:
1. addPathPatterns 和 excludePathPatterns 的参数都是字符串数组,可以传入多个路径模式。路径模式可以使用 Ant 风格的通配符,例如 "/api/**" 表示匹配所有以 /api/ 开头的请求路径。
2. addPathPatterns 指定拦截的请求路径,excludePathPatterns 指定排除的请求路径。如果一个请求同时匹配 addPathPatterns 和 excludePathPatterns,excludePathPatterns 的优先级更高,该请求将不会被拦截。
3. 如果 addPathPatterns 和 excludePathPatterns 都没有指定任何路径模式,则该拦截器将会对所有请求生效。
4. 如果 addPathPatterns 和 excludePathPatterns 都指定了路径模式,则只有同时匹配 addPathPatterns 和不匹配 excludePathPatterns 的请求才会被拦截。
例如,下面的代码指定了一个拦截器,它将会对所有以 /api/ 开头的请求进行拦截,但是排除了 /api/login 和 /api/logout 这两个请求:
```
@Configuration
public class WebMvcConfiguration implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new AuthInterceptor())
.addPathPatterns("/api/**")
.excludePathPatterns("/api/login", "/api/logout");
}
}
```
希望这些注意事项能够帮助你正确地使用 InterceptorRegistration 中的 addPathPatterns 和 excludePathPatterns。