Весна, валидация в Джакарте. Как избежать дублирования аннотаций проверки при проверке DTO и сущностей?JAVA

Программисты JAVA общаются здесь
Гость
Весна, валидация в Джакарте. Как избежать дублирования аннотаций проверки при проверке DTO и сущностей?

Сообщение Гость »


Я пытаюсь проверить как DTO (передаваемые в методы контроллера), так и объекты JPA. Но это часто приводит к дублированию правил валидации.

Применяемые правила проверки часто схожи как для классов Entity, так и для DTO, например (классы упрощены): Класс сущности продукта имеет имя, помеченное @NotEmpty:

@Entity @Стол класс Продукт { @Не пусто частное имя строки; // идентификатор, геттеры, сеттеры и т. д. } Класс NewProductRequest DTO также имеет имя @NotEmpty:

класс NewProductRequest { @Не пусто публичное имя строки; } В более сложных сценариях это приводит к массовому дублированию проверок. При использовании этого подхода любые изменения проверки, примененные к Продукту, должны также применяться и к ProductDTO.

Есть ли способ избежать дублирования аннотаций проверки, чтобы можно было следовать принципу DRY? Можно ли этого добиться с помощью пользовательских валидаторов Spring MVC?

Вернуться в «JAVA»