InterceptorRegistration中addPathPatterns和excludePathPatterns详细用法+配合用法
时间: 2024-05-04 20:18:19 浏览: 125
`InterceptorRegistration`是Spring MVC中用于注册拦截器的类,其中`addPathPatterns`和`excludePathPatterns`方法用于指定拦截器拦截的请求路径和排除的请求路径。
- `addPathPatterns(String... patterns)`:指定拦截器需要拦截的请求路径,可以使用Ant格式的通配符进行匹配。
- `excludePathPatterns(String... patterns)`:指定拦截器需要排除的请求路径,同样可以使用Ant格式的通配符进行匹配。
这两个方法可以结合使用,例如:
```java
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new MyInterceptor())
.addPathPatterns("/api/**")
.excludePathPatterns("/api/login", "/api/logout");
}
}
```
上述示例中,`MyInterceptor`仅会拦截`/api/`路径下的请求,但不会拦截`/api/login`和`/api/logout`路径下的请求。
需要注意的是,`excludePathPatterns`方法并不会影响`addPathPatterns`方法所指定的路径,也就是说,如果`addPathPatterns`指定了`/api/**`,那么即使`excludePathPatterns`指定了`/api/login`,`/api/login`仍然会被拦截。因此,在使用这两个方法时要注意路径的顺序和范围。
阅读全文