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