springboot项目使用拦截器修改/添加前端传输到后台header和cookie参数
时间: 2023-12-13 21:02:55 浏览: 113
spring-boot添加 拦截器
可以通过编写拦截器来实现修改/添加前端传输到后台的header和cookie参数。
首先,定义一个拦截器类,实现 HandlerInterceptor 接口,并在其中重写 preHandle 方法。在 preHandle 方法中,可以通过 request.getHeader() 和 request.getCookies() 方法获取前端传输过来的 header 和 cookie 参数,然后进行修改/添加,最后再通过 response.setHeader() 和 response.addCookie() 方法将修改后的参数传输到后台。
下面是一个简单的示例:
```java
public class CustomInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// 获取前端传输过来的 header 参数
String token = request.getHeader("token");
// 修改/添加 header 参数
response.setHeader("token", "newToken");
// 获取前端传输过来的 cookie 参数
Cookie[] cookies = request.getCookies();
// 修改/添加 cookie 参数
Cookie cookie = new Cookie("newCookie", "cookieValue");
response.addCookie(cookie);
// 返回 true 表示继续执行后续的处理器和拦截器
return true;
}
}
```
然后,在 Spring Boot 项目中配置拦截器,可以通过实现 WebMvcConfigurer 接口,在 addInterceptors 方法中添加拦截器:
```java
@Configuration
public class InterceptorConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new CustomInterceptor()).addPathPatterns("/**");
}
}
```
这样,当前端发送请求时,拦截器就会拦截请求,并修改/添加前端传输到后台的 header 和 cookie 参数。
阅读全文