Что важно знать
@Validи аннотации@NotNull,@Size,@Email.@RestControllerAdvice+@ExceptionHandler— единая обработка.ProblemDetail(RFC 9457) встроен в Spring 6.
Bean Validation, @ControllerAdvice и единый формат ошибок.
@Valid и аннотации @NotNull, @Size, @Email.@RestControllerAdvice + @ExceptionHandler — единая обработка.ProblemDetail (RFC 9457) встроен в Spring 6.Практика. Добавить валидацию создания заказа и единую обработку ошибок с тестами.
Практика. Перевести ответы об ошибках сервиса на ProblemDetail и написать валидатор согласованности полей.
@Valid на теле запроса включает проверку ограничений на полях DTO (@NotBlank, @Email, @Size); при нарушении метод контроллера не вызывается, клиент получает 400.
Ограничения — аннотациями Bean Validation на полях DTO (@NotBlank, @Email, @Size, @Positive), проверка — @Valid на параметре контроллера, ошибки — в @RestControllerAdvice в едином…
@Valid — стандарт Jakarta Bean Validation, включает каскадную проверку вложенных объектов. @Validated — аннотация Spring: группы валидации и проверка параметров методов бинов (на…
Spring бросает MethodArgumentNotValidException, метод контроллера не вызывается, ответ по умолчанию — 400. Список ошибок полей нужно отдать клиенту через @RestControllerAdvice.
@ExceptionHandler в контроллере — локальный, в @ControllerAdvice — глобальный. Локальный обработчик подходящего типа выигрывает у глобального.
Bean Validation и @Valid/@Validated, превращение ошибок в ответ, @ControllerAdvice и единый контракт, ProblemDetail (RFC 7807), multipart и interceptors.
На живом собеседовании sotto слышит вопрос интервьюера и показывает короткий ответ и план. Оставьте контакт — пришлём доступ и промокод.