Должен ли ответ остальных API содержать идентификатор ресурса?
Что является хорошей практикой или стандартом в остальных API, должен ли ответ сервера содержать идентификатор ресурса?
Например, этот ответ содержит идентификатор ресурса
GET /users/5
{
"user_id": 5
"first_name" : "John",
"last_name" : "Doe",
"minutes_active": 10
}
И это предполагает, что идентификатор ресурса указан в URL-адресе запроса.
GET /users/5
{
"first_name" : "John",
"last_name" : "Doe",
"minutes_active": 10
}
1 ответ
это предполагает, что идентификатор ресурса указан в URL-адресе запроса.
С точки зрения клиента, URI непрозрачны; если вы передаете информацию клиенту, помещая ее в URI, который он должен проанализировать, то вы потеряли график.
Если ваш API должен сделать идентификатор доступным для клиента, тогда идентификатор должен быть включен в представление ресурса.
Что вы подразумеваете под "URI непрозрачны; если вы передаете информацию клиенту, помещая ее в URI, который он должен анализировать..."? Мне кажется, что клиент создал URI, поэтому якобы он уже знает идентификатор...?
Как правило, клиент REST API следует ссылкам, а не создает URI. В HTTP-запросе нет ничего, что говорило бы о том, как клиент выбрал этот конкретный URI - это может быть закладка или ссылка в каком-то другом представлении, или результат заполнения формы.