Как выполнить проверку строк с помощью jackson?

#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