REST API 404: неверный URI или отсутствующий ресурс?

Я создаю 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, если запись не существует. Это просто и, на мой взгляд, очень чисто, даже если это не обязательно общепринятая практика. Но есть ли лучший способ сделать это?

188
задан MC Emperor 24 July 2018 в 00:18
поделиться