Spring Validation

Проработать

  1. Проверка данных — Java & Spring Validation

Основные разделы

Validation в Spring-boot(Hibernate Validation)

Добавление зависимости

implementation 'org.springframework.boot:spring-boot-starter-validation:3.2.2'
        

Без Spring boot нужно добавить только зависимость:

implementation 'org.hibernate:hibernate-validator:8.0.1.Final'
        

Добавление @Valid на переменную

@Valid User user
        

Добавить Аннотации на поля класса @NotNull, @NotEmpty etc.

Добавить Exception Handlers для обработки исключения.

@ResponseStatus(HttpStatus.BAD_REQUEST)
@ExceptionHandler(MethodArgumentNotValidException.class)
public Map<String, String> handleValidationExceptions(
  MethodArgumentNotValidException ex) {
    Map<String, String> errors = new HashMap<>();
    ex.getBindingResult().getAllErrors().forEach((error) -> {
        String fieldName = ((FieldError) error).getField();
        String errorMessage = error.getDefaultMessage();
        errors.put(fieldName, errorMessage);
    });
    return errors;
}
        

Аннотации

Аннотации общие:

Аннотации проверок:

Проверки разных типов: