У нас есть тип A, который объединяет тип B. При проверке A мы хотим проверить все B.Это просто:
@Data
public class A {
@NotNull
private String a;
@Data
@Valid
private List<B> bs;
public static class B {
@NotNull
private String b ;
}
}
Но, скажем, нам нужно проверить список.Это теоретически решаемо путем создания собственного класса, но создание объекта для запуска проверки не является приемлемым решением, а в примерах, таких как:
public void receive(@Valid List<A> messageList) {
в контроллерах / слушателях, это даже (я полагаю) не всегда легко возможно.Проблема в том, что @Valid неправильно использовался для значения ~ @ ExamineChildren.Данный Список действительно действителен, потому что он не имеет каких-либо определенных ограничений, но это не то, что мы хотим сделать.
Есть ли решение этой проблемы, кроме внедрения Validator и запуска проверки вручную?Даже если это не так, и вы на самом деле делаете это вручную (что я и делаю сейчас), вы можете показать свой подход?Меня бы интересовало, как вы обрабатываете ConstraintViolations и т. Д.
Спасибо!