REST更新多个资源

时间:2012-08-08 20:47:31

标签: rest

我试过这个,但我没有找到符合我需要的答案。

考虑到我目前有以下路线:

[GET] /items

可以使用查询参数进行过滤。现在我需要让它能够一次添加多个资源。我考虑过做以下请求:

[PATCH] /items

这样的身体:

id[]=1&id[]=2&id[]=3&updateField=newValue

我认为这次电话有问题,但我无法弄明白。

1 个答案:

答案 0 :(得分:17)

在RESTful API中,URL应该定义事务的对象,动词是动作。

所以GET /items应该返回所有项目。

GET /items/1应该返回ID为1的项目。

以下是多个ID应该是资源定义(url)的一部分。所以 GET /items/1,2,3应返回3个适当的项目。

因此,要对许多ID应用部分更新:

[PATCH] /items/1,2,3

然后在PATCH或PUT的主体内,您可以提供要更新的信息(假设您正在发送JSON正文)。

{"updateField": "newValue"}