Spring @Validated @Controller не отображался при добавлении @Validated. Удаление любого наследства от самого контроллера помогло. В противном случае ответ Сабир Хана сработал и помог.

ользую Spring Boot 1.5.2.RELEASE и не могу включить JSR - 349 (проверка bean 1.1) для@RequestParam & @PathVariable в самом методе.

Для запросов POST, если параметр метода является Java POJO, тогда аннотировать этот параметр@Valid работает нормально, но комментирует@RequestParam & @PathVariable с чем-то вроде@NotEmpty, @Email не работает.

Я аннотировал класс контроллера с Spring@Validated

Есть много вопросов по SO, и я прокомментировалэтот ответ что это не работает для меня.

Spring Boot включает в себя -validation-api-1.1.0.Final.jar а такжеhibernate-validator-5.3.4.Final.jar .

Я что-то упустил?

Пример кода,

@RequestMapping(method = RequestMethod.GET, value = "/testValidated", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseBean<String> testValidated(@Email @NotEmpty @RequestParam("email") String email) {
    ResponseBean<String> response = new ResponseBean<>();
    response.setResponse(Constants.SUCCESS);
    response.setMessage("testValidated");
    logger.error("Validator Not called");
    return response; 
}

Ниже обработчик никогда не вызывается, когда я отправляю пустые значения или неправильно сформированный адрес электронной почты дляemail & контроль всегда идет в сtestValidated метод.

@ExceptionHandler(ConstraintViolationException.class)
@ResponseBody
@ResponseStatus(HttpStatus.BAD_REQUEST)
public ResponseBean handle(ConstraintViolationException exception) {

    StringBuilder messages = new StringBuilder();
    ResponseBean response = new ResponseBean();

    exception.getConstraintViolations().forEach(entry -> messages.append(entry.getMessage() + "\n"));

    response.setResponse(Constants.FAILURE);
    response.setErrorcode(Constants.ERROR_CODE_BAD_REQUEST);
    response.setMessage(messages.toString());
    return response;
}

ResponseBean<T> мой класс приложения

Ответы на вопрос(2)

Ваш ответ на вопрос