Size: a a a

2021 January 14

HH

Human Human in pro.jvm
borsch
openapi generator
Хочу вот попробовать, но походу чтобы что-то нормальное сгенерило надо повозиться с настройками
источник

ch

central hardware in pro.jvm
Human Human
Я это понимаю, но на этот случай у нас есть констрейнты в базе
В котором то же можно наложать
источник

b

borsch in pro.jvm
зачем делать errorMessage.contains(constraint name)?
источник

HH

Human Human in pro.jvm
central hardware
В котором то же можно наложать
Так тогда можно где угодно наложать, это к тебе не относится)
источник

AE

Alexandr Emelyanov in pro.jvm
borsch
openapi generator
Кстати да, можно же сгенерировать клиент с валидацией. Было бы не плохо ещё получить из метода клиента данные, что бы автоматически на форму накладывать
источник

AE

Alexandr Emelyanov in pro.jvm
borsch
зачем делать errorMessage.contains(constraint name)?
Именно что не надо
источник

E

Evgeniy ♎️ in pro.jvm
Human Human
А имеет ли смысл делать проверку/валидации в приложении, если в базе уже стоят ограничения по размерам полей?
конечно
и чем больше валидаций будет, тем лучше
если имя клиента 40 символов в бд, то и делайте и на фронте 40 символов, и на бэке 40 символов
ибо поправить 3 места потом , расширив до 50 - это не проблема вообще, по сравнению с проблемами отсутствия валидации
источник

E

Evgeniy ♎️ in pro.jvm
нельзя даже доверять системам с которыми вы интегрируетесь...хотя у вас контракты и всё такое)
источник

HH

Human Human in pro.jvm
Evgeniy ♎️
конечно
и чем больше валидаций будет, тем лучше
если имя клиента 40 символов в бд, то и делайте и на фронте 40 символов, и на бэке 40 символов
ибо поправить 3 места потом , расширив до 50 - это не проблема вообще, по сравнению с проблемами отсутствия валидации
Давайте я обозначу. Что речь в основном идет про такие штуки как ограничение размера описания или email и тд.
вот стоит varchar(255), чувак использует api напрямую, обрабатываем ошибку констрейнта базы и отдаем ему
источник

E

Evgeniy ♎️ in pro.jvm
Human Human
Давайте я обозначу. Что речь в основном идет про такие штуки как ограничение размера описания или email и тд.
вот стоит varchar(255), чувак использует api напрямую, обрабатываем ошибку констрейнта базы и отдаем ему
ну должен быть валидатор входных значений сервиса
где этот имейл(а скорей всего и весь реквест) отвалится ещё до выполнения какой-либо логики в принципе
источник

HH

Human Human in pro.jvm
Evgeniy ♎️
ну должен быть валидатор входных значений сервиса
где этот имейл(а скорей всего и весь реквест) отвалится ещё до выполнения какой-либо логики в принципе
Зачем? Производительность?
источник

HH

Human Human in pro.jvm
или просто должен и все
источник

HH

Human Human in pro.jvm
без объяснений)
источник

Д

Дима in pro.jvm
чтобы ухо не откусили
источник

ВФ

Валерий Фёдоров... in pro.jvm
Как говорит один из наших экспертов по кибербезопасности - оборона должна быть эшелонированной
источник

ch

central hardware in pro.jvm
Human Human
Давайте я обозначу. Что речь в основном идет про такие штуки как ограничение размера описания или email и тд.
вот стоит varchar(255), чувак использует api напрямую, обрабатываем ошибку констрейнта базы и отдаем ему
А СУБД разве умеют проверять валидность email, там же не просто длину надо проверить, а в описание скорее всего не должно быть никаких инъекции то же не просто длина
источник

HH

Human Human in pro.jvm
central hardware
А СУБД разве умеют проверять валидность email, там же не просто длину надо проверить, а в описание скорее всего не должно быть никаких инъекции то же не просто длина
Я именно про длину. Да и допустим что умели бы
источник

b

borsch in pro.jvm
Human Human
Зачем? Производительность?
пришол реквест и нужно зделать джоин, но сам id не пришол.

можно провалидировать и вернуть ошибку либо упасть с npe
источник

E

Evgeniy ♎️ in pro.jvm
Human Human
Зачем? Производительность?
да хотя бы
зачем делать всю логику, + например, вызов проверки сервиса на валидность имейла..или да чего угодно, попытаться сохранить это всё в бд, отвалиться! (а обработка ошибок - это всегда плохо по перфу),  - и вернуть клиенту откатывая всё(половина инфы записалась, половина нет)

мне кажется если открыть любую умную книжку  - там будет написано что-то типо "валидируйте входы вашей системы"
потому что это даже ещё выполняется ДО вашей логики

и даже весь мой небольшой опыт показывает что лучше по максимуму отрезать всё и не пускать, чем потом разгребать, вводить вторые колонки, делать заново какие-то импорты, потому что уже всё пошло криво и тд и тп...а другая система другую длину поля заложила


пример из позавчера!!
- упала ночная таска, как раз на бд не влезло поле, потму что ВНЕЗАПНО стали присылать не 100, а 123 символа
это большая таска на бд завалилась, и она реально занимает много времени, кароче не круто что она завалилась
сделали быстрофикс - просто отрезаем лишние
ОПЯТЬ валиться!  -теперь потому что поле null!...т..е пока с ним ничего не делали  -оно как null спокойно писалось в бд, а когда стали substring делать, то NPE) (а потому что написано что оно обязательное!, а в другой системе выяснилось, что необязательное)

в итоге - очередное место где мы анально огородились от всего, невзирая на то что написано в спеке - обязательное поле
источник

HH

Human Human in pro.jvm
borsch
пришол реквест и нужно зделать джоин, но сам id не пришол.

можно провалидировать и вернуть ошибку либо упасть с npe
такую валидацию конечно в любом случае буду делать.
источник