В настоящее время я разрабатываю очередь задач с API RESTful.Правильный код состояния HTTP для невыполнимого запроса REST
Чтобы справиться с задачей, работник должен создать аренду.
PUT .../leases
Если очередь задача имеет задачи, доступные, это удастся, договор аренды будет создан, и сервер отвечает статусу 201
.
Я не уверен, как обращаться с этим случаем, когда нет заданий. Невозможно создать арендную плату, если нет доступных заданий. Какой код статуса HTTP подходит для этого случая?
204 No Content
- клиент не сделал ничего плохого, но нет никаких данных.400 Bad Request
- это имхо не применяется, так как это означает, что «запрос не может быть понят сервером», который не так
В то же время я думал, что этот подход не может быть идеальным. Либо я использую 503
, как рекомендовал Брайан, а также подпишусь от REST in practice, или я меняю весь процесс.
Я думал об аренде, которую можно было бы создать условно. Это означает, что
PUT
к/leases
- Либо создать аренду, назначить задачу и ответить
201
или создать предварительный договор аренды и отвечать202
- Предварительных аренды будет оставаться в течение некоторого времени. Если задачи становятся доступными, они назначаются на предварительную аренду. Если нет задачи в течение определенного периода времени, аренда будет удалена и сервер ответит
410
- Клиент должен начать снова с 1.
Мне не нравится понятие говорящего, ресурса нет, поскольку он существует. Может быть, мой подход ошибочен. – ccellar
Один из способов взглянуть на это, если вы попытаетесь просмотреть страницу в блоге, который не существует, вы получите 404. Если эта страница будет создана, она больше не будет 404. Она все еще не является точной но я не думаю, что любой из них. – abraham