Spring Boot умеет валидировать входные DTO буквально парой аннотаций - без ручных if и простыней кода.
Вместо самописных проверок используем Bean Validation прямо в модели запроса.
Пример DTO:
- @Email — проверяет формат почты
- @NotBlank — поле обязательно
- @Size(min, max) — ограничения длины
- @Pattern — проверка по regex
Spring автоматически:
- валидирует входящий JSON
- при ошибке возвращает 400 Bad Request
- формирует понятный список ошибок в ответе
То есть API сразу становится “самозащищающимся” от кривых данных.
Важно: логику валидации мы держим рядом с данными, а не размазываем по контроллерам.
Если нужно — формат ответа с ошибками можно полностью переопределить через глобальный exception handler.
Итог: меньше бойлерплейта, чище контроллеры и предсказуемое поведение API.
Java библиотека