#node.js #http #jsonschema #http-status
#node.js #http #jsonschema #http-status
Вопрос:
Я создаю простой http-сервер в nodejs, который проверяет исходящий json. Если проверка завершится неудачей, каким будет правильный код состояния / сообщение об ошибке для отправки клиенту?
Комментарии:
1. @CertainPerformance нет, если json выводится сервером. В случае клиента json будет 400/422, верно?
2. 500 — Внутренняя ошибка сервера. Если сервер сгенерировал неверный ответ на действительный запрос, это явно внутренняя ошибка, не так ли?
3. @tkausl Спасибо, это то, что у меня есть прямо сейчас, хотя я не был уверен.
Ответ №1:
Поскольку ошибка возникает на сервере, ошибка должна составлять 500 секунд.
Похоже, что нет никакого сообщения об ошибке, соответствующего, в частности, этой проблеме, поэтому вы можете использовать общее сообщение, указывающее, что на сервере возникла какая-то проблема: ошибка 500 Внутренняя ошибка сервера. Логика, выполняемая на сервере, не оправдала ожиданий.
Ответ №2:
Общие коды состояния:
4xx означает ошибки клиента
- 400 неверный запрос
- 401 несанкционированный
- 403 Запрещено
- 404 Не найдено
- Метод 405 не разрешен
2xx означает статус HTTP-кода
- 200 ок, это для успешного обновления или получения ресурса
- 201, означает, что был создан любой источник
- 204, означает, что запрос не имеет полезной нагрузки, но мы использовали его при обновлении
5xx означает ошибки сервера
- 500 Внутренняя ошибка сервера
- 501 Не реализовано
- 502 плохой шлюз
- 503 службы недоступны
Есть и другие. Но это, пожалуй, самые распространенные