REST API-通过ID的GET请求过滤器

时间:2019-06-25 09:03:40

标签: rest api http httpwebresponse

假设我有一个索引端点来列出单位 GET /projects/1/units/?id[]=1,2,3

且id为(1,2)的单位属于id(1)的项目,而id(3)的单位不属于此项目

对于这种情况,正确的响应应该是什么,请注意,它是GET收集端点。

响应应该是200并带有可用单元的列表,或者是400错误的请求,因为id = 3的单元不属于该项目?

谢谢

1 个答案:

答案 0 :(得分:2)

REST并没有说明有关搜索或在一个API调用中检索多件事情的能力。请记住,REST API应该使用超媒体来指示其状态。这意味着您可以拥有一个API,该API以链接的形式列出特定项目的单位。

GET /projects/1/units

{
  'self': {...}
  'links': [
    {
      'rel': 'unit',
      'href': '/projects/1/unit/1',
      'type': 'project.unit'
    },
    {
      'rel': 'unit',
      'href': '/projects/1/unit/2',
      'type': 'project.unit'
    }
  ]
}

请注意,如果单元3在项目1中不存在,那么您应该返回http状态404。