Size: a a a

2021 January 15

VP

Vasili Pispanen in pro.jvm
Human Human
ну обработку пишешь один раз. А 2-3 анотации ставишь 100500 раз
Но это по прежнему лишь аннотация с парой параметров
источник

HH

Human Human in pro.jvm
Vasili Pispanen
Но это по прежнему лишь аннотация с парой параметров
Ладно, пойду дальше лепить эту кучку анотаций и не выебываться)))
источник

VP

Vasili Pispanen in pro.jvm
Зато когда (если) понадобится более сложная логика, например проверить что сохраняемая в поле дата - это дата в будущем, вы просто повесите условный @future над dto и не надо будет разворачивать с нуля
источник

HH

Human Human in pro.jvm
Vasili Pispanen
Зато когда (если) понадобится более сложная логика, например проверить что сохраняемая в поле дата - это дата в будущем, вы просто повесите условный @future над dto и не надо будет разворачивать с нуля
Да, но проблема не в этом была. А в том, что надо в 4 местах это прописывать
источник

VP

Vasili Pispanen in pro.jvm
Нууу, если это сильно бесит, можно попробовать какой-нибудь spring data rest
источник

VP

Vasili Pispanen in pro.jvm
Будет одна модель
источник

A

Artjom Kalita in pro.jvm
Vasili Pispanen
Нууу, если это сильно бесит, можно попробовать какой-нибудь spring data rest
Лучше не надо - когда доменная модель возвращается через апиай это печалит
источник

HH

Human Human in pro.jvm
Vasili Pispanen
Нууу, если это сильно бесит, можно попробовать какой-нибудь spring data rest
Там же все равно скорее всего надо будет вешать констрейнты только на entity вместо dto
источник

VP

Vasili Pispanen in pro.jvm
Artjom Kalita
Лучше не надо - когда доменная модель возвращается через апиай это печалит
В целом согласен, сами обычно не используем, хотя для условных read only справочных сущностей не вижу проблемы
источник

VP

Vasili Pispanen in pro.jvm
Human Human
Там же все равно скорее всего надо будет вешать констрейнты только на entity вместо dto
Да, но это уже 1 место на весь код бэка, товарищ то на дублирование валидации жаловался
источник

HH

Human Human in pro.jvm
Vasili Pispanen
Да, но это уже 1 место на весь код бэка, товарищ то на дублирование валидации жаловался
Да, этот товрищ я. Я жаловался, что надо делать валидацию на
1. фронте   2. В DTO   3. DB   4. Прописывать в api spec
источник

VP

Vasili Pispanen in pro.jvm
Таков путь :)
источник

VP

Vasili Pispanen in pro.jvm
Ну т.е. можно придумать кейс как это порешать, упомянутый spring data rest + генерация db скриптов для liquibase + генерация спеки через swagger + фронт на vaadin
источник

VP

Vasili Pispanen in pro.jvm
Всё это вроде пытались сделать в cuba platform, но мои коллеги  посмотрев примеры отказались это юзать
источник

DC

Denis Chikanov in pro.jvm
Vasili Pispanen
Ну т.е. можно придумать кейс как это порешать, упомянутый spring data rest + генерация db скриптов для liquibase + генерация спеки через swagger + фронт на vaadin
Или проект на Котлине с Котлин-жс :D
источник

HH

Human Human in pro.jvm
Denis Chikanov
Или проект на Котлине с Котлин-жс :D
ахаха я как то в серьез хотел писать пет проджект на нем. Как начал понял, что не стоит. Также с хаскелем было…
источник

b

borsch in pro.jvm
Human Human
Ладно, пойду дальше лепить эту кучку анотаций и не выебываться)))
так сделайте только констрейт и покажите нам, как не писать 100500 аннотаций, а красиво парсить текст ошибки, а мы все оценим :) реально уже стало интересно на сколько это легко / легче сделать
источник

C

Cargeh in pro.jvm
Vasili Pispanen
Ну т.е. можно придумать кейс как это порешать, упомянутый spring data rest + генерация db скриптов для liquibase + генерация спеки через swagger + фронт на vaadin
а зачем скрипты базы генерить? хиба ж сама по описанию сгенерит таблички
источник

AE

Alexandr Emelyanov in pro.jvm
borsch
так сделайте только констрейт и покажите нам, как не писать 100500 аннотаций, а красиво парсить текст ошибки, а мы все оценим :) реально уже стало интересно на сколько это легко / легче сделать
Самый главный квест будет - пусть все ошибки валидации таким образом соберёт за запрос, ведь в отличии от валидации, которая прогонит все проверки и отдаст все ошибки - база плюнет первый фейл и все. Клиенту при этом придется делать много попыток пока не получит все ошибки
источник

AE

Alexandr Emelyanov in pro.jvm
Вообще если делать по фен-шую, то должно быть 4 валидации.
1. Фронт
2. API (DTO,, которые валидирует spring mvc)
3. Entity, их провалидирует jpa перед отправкой в бд (те же аннотации javax validation). Проверка что не накосячил при маппинге и в бизнес логике
4. Констрейнты в бд
источник