Проверка регулярных выражений в javax для переменных пути в Spring - PullRequest
1 голос
/ 04 июля 2019

У меня работает валидация для bean-компонентов и параметров запроса, однако мои переменные пути не проходят валидацию:

@PathVariable @Pattern(regexp = "[A-Za-z0-9]+") String protocol

Когда я указываю путь var как ab!ab, он не завершает запрос с кодом состояния 400, но позволяет ему передать значение, присвоенное аргументу.

Я также проверил свое регулярное выражение в сети, оно действительно и должно работать нормально.

Кроме того, мой контроллер покоя имеет аннотацию @Validated.

Что мне здесь не хватает?

================ UPDATE =============

Я пробовал другие аннотации ограничений, и ни одна из них не работает, поэтому это должно как-то быть связано с проверкой переменной пути. Но что ??

1 Ответ

1 голос
/ 04 июля 2019

Убедитесь, что у вас есть

hibernate-validator

зависимость и добавьте следующий компонент:

@Bean
public MethodValidationPostProcessor methodValidationPostProcessor() {
    return new MethodValidationPostProcessor();
}
...