Вам нужен API Bean Validation (который у вас, вероятно, уже есть) и его эталонная реализация (например, hibernate-validator). Проверьте здесь Java Основы проверки бинов
Обобщение
- Добавьте соответствующие зависимости к вашему pom. xml (или gradle) ):
<dependencies>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>2.0.1.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.1.2.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator-annotation-processor</artifactId>
<version>6.1.2.Final</version>
</dependency>
</dependencies>
Используйте аннотацию
@Valid
для вашей сущности
Customer
, чтобы автоматически проверить полезную нагрузку:
@PatchMapping("/{id}")
public Customer updateCustomer(@PathVariable Long id, @RequestBody @Valid Customer customer) {
return customerService.updateCustomer(id, customer);
}
Вы можете украсить поля вашего класса
Customer
или
CreateCustomerRequest
дополнительными аннотациями, например,
@Size
,
@Max
,
@Email
и c. Обратитесь к руководству для получения дополнительной информации.