Я создаю REST API, но столкнулся с проблемой.
Похоже, общепринятая практика разработки REST API заключается в том, что если запрошенный ресурс не существует, возвращается ошибка 404.
Однако, на мой взгляд, это добавляет ненужной двусмысленности. HTTP 404 более традиционно ассоциируется с неверным URI. Таким образом, мы говорим «Либо вы попали в нужное место, но такой конкретной записи не существует, либотакого места в Интернете нет! ..."
Рассмотрим следующий URI:
http://mywebsite/api/user/13
Если я получу ответ 404, это потому, что пользователя 13 не существует? Или это потому, что мой URL-адрес должен былбыть:
http://mywebsite/restapi/user/13
В прошлом я только что возвращал результат NULL с кодом ответа HTTP 200 OK
, если запись не существует. Это просто и, на мой взгляд, очень чисто, даже если это не обязательно общепринятая практика. Но есть ли лучший способ сделать это?