我有一组RESTful资源的ID(所有相同类型的资源),其数量可以无限大。我想进行REST调用以获取这些资源的名称。像这样:
发送:
['005fc983-fe41-43b5-8555-d9a2310719cd', '4c6e6898-e519-4bac-b03e-e8873d3fa3f0',...]
接收:
['Resource A', 'Resource B',...]
RESTful地检索这些资源名称的最佳方法是什么?
以下是我所拥有的想法以及我在每种方法中遇到的问题:
有更好的方法吗?
答案 0 :(得分:1)
你最后的方法是RESTful和我推荐的方法。我这样做:
第1步:
请求:
POST /resource/collection
Content-Tpye: application/json
{
"ids": [
"005fc983-fe41-43b5-8555-d9a2310719cd",
"4c6e6898-e519-4bac-b03e-e8873d3fa3f0"
]
}
响应:
201 Created
Location: /resource/collection/89AB8902-FDF1-11E4-ADDF-CD4FB664A5DC
第2步:
请求:
GET /resource/collection/89AB8902-FDF1-11E4-ADDF-CD4FB664A5DC
响应:
200 OK
Content-Type: application/json
{
"resources": [ ... ]
}
然后我必须做一个' DELETE / resource / collection /:id'清理。
不,这不是必要的。服务器可以实现一个作业,删除所有早于特定时间戳的集合。客户不是必须这样做的。
如果稍后客户端再次访问该集合,服务器将以
响应410 Gone