2016-05-23 2 views
2

у меня есть ресурс «User», для которого мы храним следующие данные:REST API URI шаблон для различных уровней детализации ресурсов

{ 
    "id": 123, 
    "name": "John Doe", 
    "address": { 
    "line1": "411, ABC street" 
    "city": "XYZ" 
    "country": "ZZZ" 
    } 
} 

мне нужно три API, чтобы перечислить мой ресурс пользователя:

  1. API для возврата списка идентификаторов пользователей
  2. API для возврата списка пользователей с идентификаторами и именем.
  3. API вернуть список пользователя со всей информацией (то есть идентификатор, имя, адрес и т.д.)

Что URI шаблон я должен использовать для каждого из указанных выше?

ответ

2

Поскольку все три запросов для тех же ресурсов, все три должны использовать ту же URL. Например:

/users 

Если клиент запрашивает разные представление, он должен использовать правильный HTTP заголовок Accept. Вы должны определить типы поставщиков, которые идентифицируют разные представления. Например:

Чтобы получить represenation включая только идентификаторы:

GET /users 
Accept: application/vnd.acme.users.ids+json 

Чтобы получить represenation, включая идентификаторы и имена:

GET /users 
Accept: application/vnd.acme.users.idsandnames+json 

Чтобы получить represenation, включая все:

GET /users 
Accept: application/vnd.acme.users+json 
Смежные вопросы