我正在为我的 rest-api 创建一个注册端点。为此,我需要使用StringTrimmerEditor。我的 initBinder 方法每次都会被调用。但空白仍然超过了端点。
我对其他项目有相同的代码,它在那里运行良好,但这次不是!
休息控制器-
@InitBinder
public void initBinder(WebDataBinder dataBinder){
dataBinder.registerCustomEditor(String.class, new StringTrimmerEditor(true));
}
如果是注册,我将 json 传递为: { "用户名": "嘿" , "密码": " " } 包含空格
它注册具有相同数量的空格的相同字符串
好吧,只是知道@InitBinder不适用于@RequesBody,它可以与@Model注释一起使用。但是,如果需要,您可以按照此处的方式自定义配置。
据我所知,StringTrimEditor 不会自动删除空格,您必须指定要删除的字符。
StringTrimmerEditor(String charsToDelete, boolean emptyAsNull)
Create a new StringTrimmerEditor like this.
按如下所示进行更改,它将起作用
@InitBinder
public void initBinder(WebDataBinder dataBinder){
dataBinder.registerCustomEditor(String.class, new StringTrimmerEditor(" ", true));
}