简而言之:允许 PATCH 请求更新资源集合(不仅仅是单个资源,而是单独的资源)是否符合标准、RESTful 和其他好主意?
长:
我正在考虑公开一种对我的资源集合启用批量、原子更新的方法。例子:
PATCH /url/myresources
[
{
"op": "add",
"path": "/1", // ID if the individual resource
"value":
{
... full resource representation ...
}
},
{
"op": "remove",
"path": "/2"
},
{
"op": "replace",
"path": "/3/name",
"value": "New name"
}
]
上下文是商业解决方案的公共 API。允许此类 PATCH 的好处是原子性和批处理友好性,无需发送垃圾邮件请求、单独处理故障等。
我已经咨询了https://www.rfc-editor.org/rfc/rfc6902和https://www.rfc-editor.org/rfc/rfc5789但如果这符合要求则找不到明确的答案。RFC 主要指的是“资源”,但也可以这样对待资源集合。
这是一个好主意吗?有更好的选择吗?