首页 > 解决方案 > Spring StringTrimmerEditor 不修剪空格

问题描述

我正在为我的 rest-api 创建一个注册端点。为此,我需要使用 StringTrimmerEditor。我的 initBinder 方法每次都会被调用。但是空格仍然超过了端点。

我对其他项目有相同的代码,它在那里工作得很好,但这次不行!

RestController-

    @InitBinder
    public void initBinder(WebDataBinder dataBinder){
        dataBinder.registerCustomEditor(String.class, new StringTrimmerEditor(true));
    }

如果用于注册,我将 json 传递为: { "username": " hey " , "password": " " } 其中有空格

它使用相同数量的空格注册相同的字符串

标签: spring-bootspring-securitybean-validationspring-restspring-validator

解决方案


据我所知,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));
    }

推荐阅读