Сценарий:
ЗапросA POST
отправляется для обработки заказа, который приведет к извлечению данных из внешнего источника данных.
Есть три возможных результата:
- Источник данных возвратил данные для запроса
- В запросе не было данных (это рассматривается как ошибка)
- Не удалось получить доступ к источнику данных (может быть недоступен для обслуживания)
Очевидным ответом для 1 является 200: OK
или 201: Created
(сущность создается из этого запроса).
Какие коды статуса подходят для 2 и 3?
Коды состояния, которые я рассмотрел:
-
503: Service Unavailable
при отсутствии источника данных -
500: Internal Server Error
при отсутствии источника данных -
502: Bad Gateway
, когда "нет данных" -
404: Not Found
, когда "нет данных" -
403: Forbidden
, когда "нет данных" -
412: Precondition Failed
, когда "нет данных"