Pull to refresh

Comments 22

опускаю [...] геттеры-сеттеры — уверен, вы умеете их создавать

Я не джавист, так что вопрос может показаться глупым, извините.


А почему геттеры-сеттеры, а не public final? DTO ведь по своей сути просто иммутабельная структура.

В принципе, Вы правы, суть DTO заключается в простой передаче объекта, но в Java всё-таки лучше придерживаться спецификации Java Beans. Для DTO стандартным будет набор "конструктор со всеми полями + геттеры".

Также, допустим, Model Mapper именно сетит поля, поэтому, при его использовании нужны ещё и сеттеры.

Хотя бы для того, чтобы можно было поменять значение поле и сохранить тот же объект в базу, а не создавать новый этой операции.

Сохранить DTO в базу? Зачем?

Жуть какая. Можно было просто сделать 2 разных DTO. Без всяких магических аннотаций.
Правильно, зачем вообще лезть в этот жуткий Spring?

А в каком пакете лежит аннотация Validation?

Для пользования нужно подключить Spring Context.

Вы не путаете с @Validated?

Да, опечатка. Исправлю. Писал не в IDE.

Я опускаю конструкторы и геттеры-сеттеры — уверен, вы умеете их создавать, а увеличивать в 3-4 раза код смысла не вижу — представим, что они уже есть.

Для этого придумали lombok и аннотацию Data
А какие сообщения об ошибках будут уходить в ответе? Хотелось бы взглянуть

Выбросит HttpStatus 409 и не пропустит дальше аннотации.

Плюсую. Также интересуют более сложные варианты валидации. К примеру, если ли пользователь с таким именем уже в БД, валидация завязанная на несколько полей сразу и проч. Будет ли продолжение?
P.S. Также не нашёл аннотацию @Validation. Есть @Validated. Возможно перепутали?
Да, опечатался. Исправил.
Не претендую на правоту, но «более сложные варианты валидации», наверное, все же лучше реализовывать махровой императивщиной, а не магическими аннотациями — чем сложнее будет маршрут валидации, тем сложнее будет понять, что, как и в каком порядке проверяется. Плюс это будет дебажится, что позволит найти ответ на рано или поздно возникнувший вопрос «а почему конкретно в этом случае не работает?»
Согласен. Тем не менее, интересуют варианты реализации, общий каркас, скажем так.
Можно как-то сделать чтобы часть валидировались аннотациями а часть махровой императивщиной?
UFO just landed and posted this here
Sign up to leave a comment.

Articles