首页 > 解决方案 > REST API - 按 ID 获取请求过滤器

问题描述

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

ids(1,2) 的单元属于 id (1) 的项目,但 id (3) 的单元不属于该项目

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

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

谢谢

标签: restapihttphttpwebresponse

解决方案


REST 没有说明搜索或在一次 API 调用中检索多个事物的能力。请记住,REST 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。


推荐阅读