Код ошибки HTTP, когда связанный ресурс не найден - PullRequest
0 голосов
/ 22 февраля 2019

Допустим, у меня есть конечная точка, такая как PATCH / person /, в которую я отправляю какой-то JSON, например

{ parent: <parentId> }

Каким будет соответствующий код ответа HTTP, если человек с идентификатором не найден?Ясно, что должно быть 404, если человек с идентификатором не найден, но относится ли это также к ресурсам, не упомянутым непосредственно в URI самого запроса?

Я попытался найти некоторые объяснения ошибки HTTP.коды, но ни один не был ясен по этому вопросу.

1 Ответ

0 голосов
/ 22 февраля 2019

Вы должны использовать 422, чтобы указать, что данный объект не может быть обработан сервером.Из документа RFC 5789 документ определяет метод PATCH:

необработанный запрос: Может быть указан с помощью 422 Ответ (Unprocessable Entity), когда сервер понимает документ исправления, и синтаксис документа исправления представляется действительным, но сервер не способен обработать запрос.Это может включать попытки изменить ресурс таким образом, чтобы ресурс стал недействительным;например, модификация правильно сформированного XML-документа, которая больше не будет правильно формироваться.Также могут быть более конкретные ошибки, такие как «Конфликтующее состояние», которые могут быть переданы с помощью этого кода состояния, но более конкретная ошибка, как правило, будет более полезной.


Решения для устраненияподобные ситуации ранее были описаны здесь и здесь .

...