Подтвердить что ты не робот

Код состояния HTTP для общего отказа

Я ищу правильный код состояния для отправки сбоя gneral через api.

Точный сценарий не позволяет добавить продукт в корзину.

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

Что было бы лучше?

Я просматриваю их и не вижу ничего, что точно соответствует потребностям здесь.

Некоторые возможные условия отказа могут быть:

Not enough stock to satisfy
Stock limit reached for that particular product
Product no longer available
4b9b3361

Ответ 1

Если это ошибка сервера, то это должно быть 500. Если это ошибка клиента, используйте 400.

Трудно быть более точным, чем это, не видя URI и что вы с ним делаете. Например, если "Продукт больше не доступен" является результатом запроса GET, тогда он должен быть 404 (не найден). Но если это был запрос POST, тогда он должен быть 200 или 202.

Для двух других они могут не быть ошибкой. Возможно, клиент отправил правильный запрос, но запас был поглощен кем-то другим, в этом случае сервер должен вернуть 409 (конфликт). Если запрос был для слишком большого количества акций с самого начала, тогда он должен быть только 200/202.

Если вам нужен только один код, просто используйте 400 и 200 (см. выше).