我在理解如何在处理批量更新时使用JSON Merge Patch
(RFC 7396)时遇到问题,或者它是否有意义。我找不到任何规格或例子。
描述
我们有一个/contacts
端点,我们实施了
POST
方法和PATCH
方法。 PATCH方法符合JSON Merge Patch
规范。因此,我们假设Contact
有一个Id
和一个Organisation
。我们有以下2个联系对象
{
"id" : "123",
"organisation" : "Org1. Ltd"
}
和
{
"id" : "456",
"organisation" : "Org2. Ltd"
}
使用 JSON合并修补程序规范更新单个联系人
现在使用PATCH端点,我可以这样更新联系人组织:
PATCH /contacts/123
Content-Type: application/merge-patch+json
{
"organisation" : "A better name for my Org. Ltd"
}
使用 JSON补丁规范更新多个联系人
我了解如何使用JSON Patch
规范(RCF 6902)一次更新多个联系人,如下所示:
PATCH /contacts
Content-Type: application/json-patch+json
[
{ "op": "update", "path": "/123/organisation", "value" : "A better name for my Org. Ltd" },
{ "op": "update", "path": "/456/organisation", "value" : "Acme Ltd" }
]
问题:使用 JSON合并修补程序规范更新多个联系人
如果我想使用JSON Merge Patch
规范一次更新两个联系人,我的问题是如何编写JSON?
我可以想到这样的事情
PATCH /contacts
Content-Type: application/merge-patch+json
[
"123" : {
"organization":"A better name for my Org. Ltd"
},
"456" : {
"organization":"Acme Ltd"
}
]
但它看起来有点难看而且非标准。