Добрый день.
Для валидации в спринг бут используется фреймворк - spring-boot-starter-validation
Используйте его и добавьте необходимые зависимости - NotNull, NotBlank, NotEmpty и т.д.
Далее на уровне метода контроллера, где в аргументе вы принимаете dto добавьте аннотацию
@Valid
или
@Validated
(это разные аннотации.)
Полезные ссылки
https://www.baeldung.com/spring-valid-vs-validated
https://stackoverflow.com/questions/3595160/what-d...
Ошибку будете получать - `MethodArgumentNotValidException`
Вот, даже метод для обработки исключения в @RestControllerAdvice
@ExceptionHandler(MethodArgumentNotValidException.class)
public ResponseEntity<ErrorMessage> handleValidationExceptions(
MethodArgumentNotValidException ex,
WebRequest request
) {
var errorMessage = ErrorMessage.builder()
.status(HttpStatus.UNPROCESSABLE_ENTITY.value())
.message("Validating problem")
.stackTrace(isTraceOn(request) ? getStackTrace(ex) : null)
.build();
if (CollectionUtils.isNotEmpty(ex.getBindingResult().getAllErrors())) {
ex.getBindingResult().getAllErrors().forEach(
error -> {
String fieldName = error.getObjectName();
String errorText = error.getDefaultMessage();
errorMessage.addValidationError(fieldName, errorText);
});
}
return ResponseEntity.unprocessableEntity().body(errorMessage);
}