我有一个字符串字段,可能在前导和尾随处包含空格。我想修剪这些空格并使用ConstraintValidator
. 如果文本为空,我想返回空。
在查看此链接上显示的实现示例时,我不确定如何创建一个获取字符串并返回字符串而不是方法的isValid()
方法。那么,如何根据给定的场景实施这种方法?
使用杰克逊 JsonDeserialize 注释来做到这一点。
例子:
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
import java.io.IOException;
public class TrimWhiteSpace extends StdDeserializer<String> {
private static final long serialVersionUID = -4993230470571124275L;
public TrimWhiteSpace() {
this(null);
}
protected TrimWhiteSpace(final Class<?> vc) {
super(vc);
}
@Override
public String deserialize(final JsonParser p, final DeserializationContext ctxt) throws IOException, JsonProcessingException {
return p.getText() == null ? null : p.getText().trim();
}
}
您可以使用此注释,如下所示:
public class Request {
@JsonDeserialize(using = TrimWhiteSpace.class)
private String name;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句