в домене (нарушение бизнес правил, инвариантов сущностей и т.д.)? Я сейчас возвращаю 422. Но есть сомнения в данном выборе.
200 и в пейлоаде код ошибки домена
конфликт. 409
вообще ответ на вопрос зависит от того а какая реакция у клиента на это должна быть?
500
Это ошибка? Если да, то код >= 400. Если виноват клиент, то <500. Если нет, то >=500
ну вот тебе простая ситуация. Есть 2 клиента. Один успел раньше другого. Виноват второй клиент? нет. А статус код 409. Ну или "виноват что долго шел"
ну банально версия не матчится, что бы не проебать чужие изменения и т.д.
Здесь по той же логике можно задавать вопрос не "кто виноват?", а "кто будет исправлять?" Если система работает корректно, а клиенты намудрили значит, им и исправлять: 400-499 Если система работате некоректно (а ошибка в домене это именно такой кейс) - значит 500-599, исправлять будут на стороне системы
Скорее даже нужно!
Ох уж эти неуклюжие попытки намаппить бесчисленное число бизнесовых ошибок на конечное число http status code
Мы мапим не ошибки, а их категории
Ради бога. Только скажите, ошибка валидации по вине клиента - это 400 или 429?)
Я обычно 422 возвращаю. 400 - это если не удалось разобрать данные запроса.
А многие (да почти все, чего уж) - 400)
Тогда как понять, что ты прислал точно валидный жсон/хмл/что-то ещё?
301 на документацию
400 норм и если ошибка валидации, хттп спека не ограничивает именно ошибками синтаксиса реквеста
Но хотелось понимать - это именно хрень в запросе, или данные, но невалидные
Это либо в пэйлоаде либо в доп хидере (типа x-validation-reason)
Зависит от того что за ошибка. Там предостаточно мест и способов накосячить
Лично я 409
Зависит от характера ошибки, хз что называют люди "ошибкой домена"
зачем мапить бизнесовые ошибки на хттп статусы ?
Никто и не мапит
Обсуждают сегодня