В настоящее время я разрабатываю API, в котором впервые использую DTO. До сих пор я использовал проверку формы Spring с javax.validation
.
Таким образом, мой вопрос, есть ли способ объединить как DTO, так и проверку формы. Позвольте мне объяснить: скажем, у меня есть сервис для входа и еще один для регистрации. В сервисе для регистрации у нас есть: имя, пароль и адрес электронной почты, 3 из них должны быть заполнены. Что касается услуги входа в систему, то должны быть заполнены только адрес электронной почты и пароль. Так что у нас будет что-то вроде:
private String name;
private String password;
private String email;
До сих пор я создавал POJO для каждого запроса (формы), а затем использовал аннотации, такие как @NotNull
, но теперь с DTO в проекте, в котором я сейчас нахожусь, у них просто один и тот же DTO и бизнес-объект с те же свойства и без ограничений.
Как я мог делать то, что обычно делал? Проверка полей, которые должны быть не нулевыми в контроллере, выглядит немного грязной для меня, и я не могу просто вставить что-то вроде @NotNull
в UserDTO
, потому что тогда в двух примерах я сказал, что мне нужно будет отправить также name
при входе в систему, хотя она не нужна для этой службы.
Итак, как я могу объединить эти 2 вещи? Это что-то не возможно или есть лучший подход?
Спасибо.