用于不同级别的资源详细信息的REST API URI模式



我有一个资源"User",我们为其存储以下详细信息:

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

我需要三个API来列出我的用户资源:

  1. API返回用户Id列表
  2. API返回带有Id和名称的用户列表
  3. API返回用户列表及所有信息(如身份证、姓名、地址等)

对于以上每一项,我应该使用什么URI模式?

由于这三个请求都是针对同一资源的,所以这三个都应该使用相同的URL。例如:

/users

如果客户端请求不同的表示,则应使用正确的HTTP标头Accept。您应该定义标识不同表示的供应商类型。例如:

要获得仅包括ID的代表:

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

要获得包括ID和名称的表示:

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

获得包括所有内容的代表:

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

最新更新