HandlerInterceptorAdapter preHandle 拦截并重写post参数
时间: 2023-11-03 19:05:24 浏览: 73
Spring拦截器,高级参数绑定
在 `HandlerInterceptorAdapter` 的 `preHandle` 方法中,你可以通过 `HttpServletRequest` 对象获取到请求的参数,然后对参数进行修改或重写。具体的实现步骤如下:
1. 获取请求的参数
```java
String paramValue = request.getParameter("paramName");
```
2. 对参数进行修改或重写
```java
String newParamValue = "newParamValue";
```
3. 将修改后的参数设置回请求中
```java
request.setAttribute("paramName", newParamValue);
```
完整的示例代码如下:
```java
public class CustomInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String paramValue = request.getParameter("paramName");
String newParamValue = "newParamValue";
request.setAttribute("paramName", newParamValue);
return true;
}
}
```
需要注意的是,这种方式只能修改 POST 请求中的参数,GET 请求中的参数无法修改。另外,如果请求的参数是一个 JSON 字符串,可以将它解析成一个对象,然后对对象进行修改,最后再将修改后的对象转成 JSON 字符串设置回请求中。
阅读全文