REST API - 按 ID 获取请求过滤器
REST API - GET Request filter by Ids
假设我有一个索引端点来列出单位
GET /projects/1/units/?id[]=1,2,3
ID 为 (1,2) 的单元属于 ID 为 (1) 的项目,但 ID 为 (3) 的单元不属于该项目
这种情况的正确响应应该是什么,请注意它是 GET
收集端点。
响应应为 200
可用单元列表或 400
错误请求,因为 id=3 的单元不属于该项目?
谢谢
REST 没有说明任何有关搜索或在一个 API 调用中检索多个内容的能力的信息。请记住,REST APIs 应该使用超媒体来指示它们的状态。这意味着您可以有一个 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。
假设我有一个索引端点来列出单位
GET /projects/1/units/?id[]=1,2,3
ID 为 (1,2) 的单元属于 ID 为 (1) 的项目,但 ID 为 (3) 的单元不属于该项目
这种情况的正确响应应该是什么,请注意它是 GET
收集端点。
响应应为 200
可用单元列表或 400
错误请求,因为 id=3 的单元不属于该项目?
谢谢
REST 没有说明任何有关搜索或在一个 API 调用中检索多个内容的能力的信息。请记住,REST APIs 应该使用超媒体来指示它们的状态。这意味着您可以有一个 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。