Я не должен возвращать код 404
, поскольку возвращение 404
в большинстве случаев означает, что URL не существует или страница не найдена, когда мы выполняем запрос Get
. Но, делая запрос Delete
, я бы выбрал 400 Bad Request
с сообщением об ошибке (сообщение может объяснить, что не так). Я думаю, что возвращение статуса 404
может сбить с толку, но Bad Request сообщит API, что URL существует, но он что-то делает не так.
Иногда может быть неприятно, если потребитель API не очень хорошо понимает происходящую ошибку. Но если вы не хотите, чтобы эта информация была доступна клиенту, вместо нее можно использовать код состояния 404 (Not Found)
.
Мне бы я вернул Bad Request
для внутренней части приложения, но Not Found
для общественной / потребительской части приложения.
404 Не найдено
Этот код состояния обычно используется, когда сервер не хочет
точно указать, почему запрос был отклонен, или когда никто другой
ответ применим.