Size: a a a

2021 February 16

А

Алексей in learn.java
Дмитрий Баевский
Там есть оплата после устройства.
Не нашел такого на сайте, только обещают вернуть стоимость курса, если человек не устроится на работу.
источник

ДБ

Дмитрий Баевский... in learn.java
Алексей
Не нашел такого на сайте, только обещают вернуть стоимость курса, если человек не устроится на работу.
Поменяли. Раньше было иначе.
источник

DM

Dimm Mula in learn.java
central hardware
с учетом того что вообще 5xx не должно быть в проде, не думаю что хорошая
Окей, тогда как мне правильно все обернуть: При добавлении монго говорит - дупликейт кей, на фронт при этом вылетает 500, могу перехватить и вернуть 409 (конфликт). Как правильно?
источник

DM

Dimm Mula in learn.java
Потому чт спринг бросает MongoWriteException
источник

ch

central hardware in learn.java
Dimm Mula
Окей, тогда как мне правильно все обернуть: При добавлении монго говорит - дупликейт кей, на фронт при этом вылетает 500, могу перехватить и вернуть 409 (конфликт). Как правильно?
вообще не должно быть 5xx, то есть самостоятельно их бросать нельзя, только если произошла какая то **** на которую твой код никак не может повлиять
источник

DC

Denis Chikanov in learn.java
Dimm Mula
Окей, тогда как мне правильно все обернуть: При добавлении монго говорит - дупликейт кей, на фронт при этом вылетает 500, могу перехватить и вернуть 409 (конфликт). Как правильно?
Если ты знаешь, какое ты поведение ожидаешь от пользователя ПОСЛЕ получения ошибки - не возвращай 500.
источник

DM

Dimm Mula in learn.java
Тут варианты:
1. Если в кетче мой эксепшен - то все равно вылетает 500 вместо него
2. Если в кетче sout например, то вылетает 200 ОК и пишет в консоль.
3. Если использовать эксепшен хендлер то можно вернуть 409.
4. Если использовать кастомные атрибуты, то можно модифицировать боди 500 ошибки, добавить туда инфу.
источник

DM

Dimm Mula in learn.java
Да я это все прочитал, я пытаюсь понять что нужно сделать, а не как. Как я уже разобрался.
источник

DM

Dimm Mula in learn.java
Контекст:
Метод контроллера пост на добавление нового юзера, делаю обработку ошибки при добавлении неуникального имени или имейла.

Поля имя и почта проиндексированы и помечены как уникальные.

Если я не обрабатываю ничего, то монго выкидывает ошибку, которую ловит драйвер спринга и кидает MongoWriteExceprion, в котором основной мессадж монги это строка. А на фронт при этом летит 500.

Отсюда и пляшу, либо save в try catch, либо свой эксепшен хендлер пишу, либо добавляю атрибуты к 500.

Ну я понял, сделаю через хендлер.
источник

D

Dima in learn.java
Dimm Mula
Потому чт спринг бросает MongoWriteException
так ты перехватывай рут исключение
источник

D

Dima in learn.java
а потом обрабатывай
источник

D

Dima in learn.java
не надо ничего модифицировать в 500ке
источник

D

Dima in learn.java
@chikanov чет я почти сюда не заходил, а тут такой хаос
источник

D

Dima in learn.java
джуны натягиваются на станок
источник

D

Dima in learn.java
источник

DC

Denis Chikanov in learn.java
источник

DM

Dimm Mula in learn.java
Следующий вопрос, на сколько хорошая/плохая практика, перед тем как сохранить пользователя сначала искать по имени и имейлу и выкидывать соответствующие ошибки?
источник

ch

central hardware in learn.java
Dimm Mula
Следующий вопрос, на сколько хорошая/плохая практика, перед тем как сохранить пользователя сначала искать по имени и имейлу и выкидывать соответствующие ошибки?
как требования (бизнес) предписывают так и должно быть
источник

D

Dima in learn.java
Dimm Mula
Следующий вопрос, на сколько хорошая/плохая практика, перед тем как сохранить пользователя сначала искать по имени и имейлу и выкидывать соответствующие ошибки?
нормальная, просто сделать уникальным поле, делай проверку в бизнес-коде и добавь обработку ошибки уникальности, которая 409 код + сообщение вернет
источник

Д

Дыня in learn.java
Map и есть
источник