[...], если запрос на встречу не создан (из-за различных вещей, таких как время больше не доступно или комната используется в настоящее время) [...]
Коды состояния предназначены для указания результата попытки сервера понять и удовлетворить запрос клиента. Учитывая, что это ошибка клиента, наиболее подходящий код состояния будет находиться в диапазоне 4xx
.
Для ситуации, описанной в вашем вопросе, вы можете использовать 409
:
6.5.8. Конфликт 409
Код состояния 409
(Конфликт) указывает, что запрос не может быть
будет завершено из-за конфликта с текущим состоянием цели
ресурс. Этот код используется в ситуациях, когда пользователь может
в состоянии разрешить конфликт и повторно отправить запрос. Сервер
СЛЕДУЕТ генерировать полезную нагрузку, которая включает в себя достаточно информации для пользователя
признать источник конфликта. [...]
400
против 422
Как правило, используйте 400
, чтобы указать синтаксис ошибки в полезной нагрузке или недопустимые параметры в URL. И используйте 422
, чтобы указать семантические проблемы в полезной нагрузке. Посмотрите, как определяется каждый код состояния:
6.5.1. 400 Неверный запрос
Код состояния 400
(неверный запрос) указывает на то, что сервер не может не обработать запрос из-за чего-то, что воспринимается как ошибка клиента (например, синтаксис неверно сформированного запроса, неверное формирование кадра запроса или обманчивая маршрутизация запроса ).
11,2. 422 необработанных объекта
Код состояния 422
(Unprocessable Entity) означает, что сервер
понимает тип содержимого объекта запроса (отсюда
415
(неподдерживаемый тип носителя) код состояния не подходит), и
синтаксис объекта запроса является правильным (таким образом, 400
(Bad Request)
код статуса не подходит), но не удалось обработать содержимое
инструкции. Например, это условие ошибки может возникнуть, если XML
Тело запроса содержит правильно сформированный (т.е. синтаксически правильный), но
семантически ошибочные инструкции XML.
Также рассмотрите коды состояния, возвращаемые известным GitHub API v3 API:
Существует три возможных типа ошибок клиента при вызовах API, которые
Получите запросы тел:
Отправка неверного JSON приведет к ответу 400 Bad Request
. [...]
Отправка неверного типа значений JSON приведет к 400 Bad Request response
. [...]
Отправка неверных полей приведет к ответу 422 Unprocessable Entity
. [...]
Майкл Кропат собрал набор диаграмм , что очень полезно для выбора наиболее подходящего кода состояния. См. Следующую диаграмму для 4xx
кодов состояния: