帮我用springBoot 写一个拦截器 拦截token
时间: 2023-01-11 22:55:36 浏览: 120
SpringBoot的拦截器
在 Spring Boot 中使用拦截器来拦截 token 非常简单。首先,需要创建一个拦截器类并实现 `HandlerInterceptor` 接口,该接口有三个方法:
1. `preHandle`:在请求被处理之前调用,可以用来进行身份认证、身份授权等操作。如果该方法返回 false,则请求将不会被继续处理。
2. `postHandle`:在请求被处理后,视图渲染之前调用,可以用来对请求做一些额外的处理。
3. `afterCompletion`:在整个请求结束之后调用,可以用来清理资源等操作。
示例代码如下:
```java
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class TokenInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// 在这里可以拿到请求中的 token,并进行身份认证或授权操作
String token = request.getHeader("token");
// ...
return true;
}
@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 {
// 在这里可以清理资源等操作
}
}
```
然后,需要在 Spring Boot 的配置类
阅读全文