@alpha-kappa

Какой HTTP статус отдать клиенту?

Есть nodejs-сервер с чатом где общаются юзеры.

Есть отдельный php-сервер, который может отсылать сообщения конкретным пользователям в этот чат.
Для этого он отсылает POST-запрос на nodejs-сервер с указанием кому (user_id) и что (тело сообщения) отправить.

Далее сервер чата ищет юзера с нужным user_id и отсылает ему принятое сообщение.
После успешной отправки он отвечает php-серверу 200-м статусом сообщая, что сообщение отправлено адресату.

Вопрос в том Каким статус-кодом ответить php-серверу в случае если сервер чата не нашел пользователя с таким user_id.

404 (Not Found) - не годится - до ресурса то мы достучались.
500 (Internal Server Error) - тоже нет - сервер то не сломался
200 (Ok) - ну какой же тут "ok" если сообщение не отправлено адресату.

примечание Пока склоняюсь к обычному 200 но в теле передавать свой статус: "success" или "error" с сообщением объясняющем причину ошибки. Ну а на стороне php разбирать тело ответа и принимать решение что делать дальше.

Ответ: Придется использовать вариант из примечания выше. Остальные варианты не убедительны.
  • Вопрос задан
  • 333 просмотра
Решения вопроса 1
Пока склоняюсь к обычному 200 но в теле передавать свой статус: "success" или "error" с сообщением объясняющем причину ошибки. Ну а на стороне php разбирать тело ответа и принимать решение что делать дальше.
Многие разработчики апи (включая меня) так и поступают.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы