Аннотация @Valid
работала с @RequestBody
, потому что RequestResponseBodyMethodProcessor
(который выполняет работу по разрешению этого аргумента обработчика) ищет присутствие @Valid
и, если он найден, применяет все соответствующие валидаторы, которые он находитв WebDataBinder
.
С другой стороны, ResponseEntity
аргументы разрешаются с помощью HttpEntityMethodProcessor
, который не выполняет проверку, даже если аргумент помечен @Valid
.
Конечно, вы можете выполнить валидацию вручную в методе обработчика, вызвав выбранный вами валидатор.Это, безусловно, возможно, хотя вы, возможно, захотите рассмотреть другой подход.