我可以通过REST完全访问foo资源:
{
"name": "foo",
"tags": [
"tag01",
"tag02",
"tag03"
]
}
我想删除
tags
数组中的tag01
。通常情况下,我会进行
GET \foo
和PUT \foo
操作,但不包括tag01
。在这种情况下,由于对象很小,所以这样做是可以的。但是,如果对象很大,我就不想下载并上传这些数据了。经过一些谷歌搜索,我发现了http PATCH。它看起来正是我需要的。
我的PATCH请求如下:
PATCH /foo/tags?op={add|delete}
删除的话,我会使用:
PATCH /foo/tags?op=delete
使用这个数据:
{
"value": "tag01"
}
现在有两个我不喜欢的事情:
- 查询字段
op
- RFC或类似文档中是否描述了一些默认名称? - 请求数据中的成员
value
- 这也是自由选择的名称。
有没有其他通过REST操作数组的方法?
在PATCH方式中有没有一些命名惯例?