使用JSON合并修补程序规范(RFC 7396)进行批量更新

时间:2018-04-10 13:05:08

标签: json rest merge patch

我在理解如何在处理批量更新时使用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"
    }
]

但它看起来有点难看而且非标准。

0 个答案:

没有答案