spring-boot: убедитесь, что представленное значение является одним из заданного набора допустимых вариантов - PullRequest
0 голосов
/ 15 июня 2019

В среде PHP / Symfony мы можем проверить значение запроса, если оно является одним из набора значений, используя ограничение Choice, как описано в этой ссылке:

https://symfony.com/doc/current/reference/constraints/Choice.html

, например,Я хочу проверить, является ли category_id одним из следующих: [1,2,3,4].есть ли способ проверки в Spring-boot?

Ответы [ 2 ]

1 голос
/ 15 июня 2019

Эта проблема поддается простой реализации Java. Это определенно лучше решается с помощью enum, но если вы предпочитаете использовать библиотеку валидации, то в этом случае лучше использовать валидатор hibernate.

Пример объявления поля:

@Range(min = 1, max = 4) int category_id;

https://hibernate.org/validator/

0 голосов
/ 18 июня 2019

Я нашел решение своего вопроса, мне пришлось создать функцию, аннотированную @ AssertTrue и проверить, разрешено ли отправлять значение из массива allowValues, например:

int[] allowedValues = {1,2,3,4};
@AssertTrue
public boolean isValidType() {
    return IntStream.of(allowedValues).anyMatch(x -> x == this.typeId);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...