У меня есть конечная точка, которая предоставляет информацию об этом списке платежей для каждого счета.Таким образом, если счет был профинансирован, он возвращает 200, если счет еще не был профинансирован (поэтому ресурс еще не доступен, но будет), я возвращаю 202, но что, если счет не предназначен для финансирования (ресурс недоступен и никогдабудет в этом случае)?
Важно понять в REST, что метаданные (коды состояния, заголовки) описывают ресурсы (документы), а не объекты домена.
Иногда эта идея выражается«ваша модель ресурсов - это не модель вашего домена».
Предполагается, что клиент, зависящий от вашего домена, просматривает полезные данные ответов;метаданные описывают независимость от домена самого ресурса гипермедиа, так что общие компоненты (браузеры, кэши, прокси, пауки) могут внести свой вклад.
Другой способ выразить ту же идею: то, что мы действительно делаем,отправка сообщений туда и обратно.Сообщение для конкретного домена клиента входит в полезную нагрузку;вот где вы будете сообщать клиенту, что происходит со счетом.Метаданные используются для описания таких вещей, как «как долго должно кэшироваться это конкретное сообщение?»
Если бы я разрабатывал ваш API, большинство ответов использовали бы 200 OK
в качестве кода состояния;со случайным 404 Not Found
, когда кажется, что в целевом URI может быть орфографическая ошибка.
(вероятно, я бы не использовал 202 Принято , как вы описали это, в качествесемантика означает что-то другое - 202
гораздо ближе к «Я понял ваш запрос, но мне потребуется некоторое время, чтобы подготовить документ»)