springboot拦截器怎么使用
时间: 2023-09-09 18:08:46 浏览: 108
spring boot如何添加拦截器
Spring Boot 中的拦截器可以通过实现 `HandlerInterceptor` 接口来创建,并通过 `WebMvcConfigurer` 配置进行注册。
下面是一个简单的示例:
1. 创建一个实现 `HandlerInterceptor` 接口的拦截器类:
```java
public class MyInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// 在请求处理之前进行拦截,可以进行权限校验等操作
return true; // 返回 true 表示继续执行后续的请求处理,返回 false 则表示拦截该请求
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
// 在请求处理之后、视图渲染之前进行拦截,可以添加一些通用的数据到模型中
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
throws Exception {
// 在整个请求完成之后进行拦截,可以进行一些资源清理等操作
}
}
```
2. 创建一个配置类并注册拦截器:
```java
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new MyInterceptor())
.addPathPatterns("/**") // 添加拦截路径规则
.excludePathPatterns("/login"); // 排除不需要拦截的路径
}
}
```
在上面的示例中,使用 `addInterceptor` 方法将自定义的拦截器注册到拦截器链中,并使用 `addPathPatterns` 方法添加需要拦截的路径规则,使用 `excludePathPatterns` 方法排除不需要拦截的路径。
阅读全文