在接收 String 类型参数时,前后可能存在一些空格,如果未曾去除就直接保存的话,可能会对一些特殊的业务场景造成致命影响。为了杜绝这种情况,需要在接收参数时进行前后空格清除处理
而接收 String 参数主要存在俩种情况
配置
接收 url 或 form 表单中的参数
对于这种情况,Spring MVC 提供了一个 org.springframework.beans.propertyeditors.StringTrimmerEditor 类,我们只需要在参数绑定中进行注册就行,方式如下
1 |
|
接收Request Body中JSON或XML对象参数
在这里,Spring MVC 是使用 Jackson 对参数进行反序列化,所以对于 String 的处理是在 Jackson 中配置
1 |
|
测试
Controller
1 |
|
对象
1 | public class User { |
测试类
1 | (SpringRunner.class) |
重构
对与这种所有项目都需要的通用配置,我们应该抽取一个公共模块,然后通过引入依赖来实现自动配置
创建 commons 模块
创建自动配置类 WebMvcStringTrimAutoConfiguration
1 |
|
配置引入依赖后存在 SpringBootApplication ,EnableAutoConfiguration注解时自动配置
在 resurces 创建 META-INF/spring.factories 文件
1 | # 自动配置 |