Mam endpoint który przyjmuje POST z name, surname, phone, email
@PostMapping
public Integer add(@Valid @RequestBody PersonDTO personDTO) {
//addPerson(personDTO);
}
public class PersonDTO {
@NotEmpty
String name;
@NotEmpty
String surname;
@NotEmpty
Integer phone;
@NotEmpty
String email;
}
I teraz chciałbym miec możliwość aby ten kto poda phone nie musiał podawać email.
Wiem że mogę zdjąc @NotEmpty z email i sprawdzać juz sobie potem np. w ciele metody add
ale czy intnieje możliwość aby zachować adnotacje w PersonDTO (w ogóle nie ruszać) i posłuzyć sie dodatkowym, drugim DTO lub coś w tym stylu?
Czy istnieje jakis inny sposób rozwiązania tego problemu aby nie ruszać PersonDTO?
Jednym słowem walidacja tego co przyjdzie w zależności co przyjdzie :)