#java #json #spring #jackson
#java #json #весна #джексон
Вопрос:
У меня есть некоторый класс со строковыми полями внутри него
public class Variable {
private String id;
private String name;
}
Моя цель — иметь String name
<= 256 characters and regexp ^[a-zA-Z0-9_]*$
. Могу ли я как-то это сделать, используя аннотации Jackson?
Комментарии:
1. смотрите здесь: baeldung.com/spring-valid-vs-validated Вы можете использовать «@Validate» с Spring и «@Validate» без него и любого из доступных ограничений (@Pattern для вашего случая)
Ответ №1:
Вы можете попробовать это так:
import javax.validation.constraints.Pattern;
public class Variable {
private String id;
@Pattern(regexp = "^[a-zA-Z0-9_]{1,256}$")
private String name;
public Variable() {
}
// getter/setter ..
}
Комментарии:
1. Как насчет @Size(max = 256). Может ли это сработать?
2. Вы также можете изменить регулярное выражение на
^[a-zA-Z0-9_]*$
и добавить@Size
. Он проверяет их оба и снова работает таким же образом. @Michael Kors