我有一個字串欄位,可能在前導和尾隨處包含空格。我想修剪這些空格并使用ConstraintValidator. 如果文本為空,我想回傳空。
在查看此鏈接上顯示的實作示例時,我不確定如何創建一個獲取字串并回傳字串而不是方法的isValid()方法。那么,如何根據給定的場景實施這種方法?
uj5u.com熱心網友回復:
使用杰克遜 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;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/488880.html
