212 похожих чатов

Коллеги, какой http код вы бы вернули, если произошла ошибка

в домене (нарушение бизнес правил, инвариантов сущностей и т.д.)? Я сейчас возвращаю 422. Но есть сомнения в данном выборе.

25 ответов

64 просмотра

200 и в пейлоаде код ошибки домена

конфликт. 409

вообще ответ на вопрос зависит от того а какая реакция у клиента на это должна быть?

500

Gleb Fault
500

Это ошибка? Если да, то код >= 400. Если виноват клиент, то <500. Если нет, то >=500

Gleb Fault
Это ошибка? Если да, то код >= 400. Если виноват к...

ну вот тебе простая ситуация. Есть 2 клиента. Один успел раньше другого. Виноват второй клиент? нет. А статус код 409. Ну или "виноват что долго шел"

Gleb Fault
А успел что?

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

Gleb Fault
Это ошибка? Если да, то код >= 400. Если виноват к...

Здесь по той же логике можно задавать вопрос не "кто виноват?", а "кто будет исправлять?" Если система работает корректно, а клиенты намудрили значит, им и исправлять: 400-499 Если система работате некоректно (а ошибка в домене это именно такой кейс) - значит 500-599, исправлять будут на стороне системы

Max Grom
Здесь по той же логике можно задавать вопрос не "к...

Ох уж эти неуклюжие попытки намаппить бесчисленное число бизнесовых ошибок на конечное число http status code

Мы мапим не ошибки, а их категории

Gleb Fault
Мы мапим не ошибки, а их категории

Ради бога. Только скажите, ошибка валидации по вине клиента - это 400 или 429?)

Roman K
Ради бога. Только скажите, ошибка валидации по вин...

Я обычно 422 возвращаю. 400 - это если не удалось разобрать данные запроса.

Roman K
А многие (да почти все, чего уж) - 400)

Тогда как понять, что ты прислал точно валидный жсон/хмл/что-то ещё?

Gleb Fault
Я обычно 422 возвращаю. 400 - это если не удалось ...

400 норм и если ошибка валидации, хттп спека не ограничивает именно ошибками синтаксиса реквеста

Pavel S
400 норм и если ошибка валидации, хттп спека не ог...

Но хотелось понимать - это именно хрень в запросе, или данные, но невалидные

Gleb Fault
Но хотелось понимать - это именно хрень в запросе,...

Это либо в пэйлоаде либо в доп хидере (типа x-validation-reason)

Roman K
Ради бога. Только скажите, ошибка валидации по вин...

Зависит от того что за ошибка. Там предостаточно мест и способов накосячить

Лично я 409

Блья ✖️➕➖➗
Лично я 409

Зависит от характера ошибки, хз что называют люди "ошибкой домена"

Max Grom
Здесь по той же логике можно задавать вопрос не "к...

зачем мапить бизнесовые ошибки на хттп статусы ?

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта