springboot 过滤参数前后端空格
时间: 2023-07-27 15:31:49 浏览: 123
spring-boot 过滤器 filter
可以使用 Spring Boot 的拦截器(Interceptor)来实现过滤参数前后端空格的需求。
步骤如下:
1. 创建一个拦截器类,实现 HandlerInterceptor 接口,并重写 preHandle 方法,在该方法中对参数进行处理。
```java
public class TrimInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
Map<String, String[]> paramMap = request.getParameterMap();
for (String key : paramMap.keySet()) {
String[] values = paramMap.get(key);
for (int i = 0; i < values.length; i++) {
values[i] = values[i].trim();
}
paramMap.put(key, values);
}
return true;
}
}
```
2. 在 WebMvcConfigurer 配置中注册拦截器。
```java
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new TrimInterceptor()).addPathPatterns("/**");
}
}
```
这样,当请求进入 Controller 方法之前,会先经过 TrimInterceptor 进行参数处理,去掉参数前后的空格。
阅读全文