PATCH と配列

PATCH 要求ペイロードには配列を含めることができます。Cloud API のほとんどの配列では、配列の PATCH を行っても、配列の既存のメンバーに PATCH メンバーが追加されることはありません。そうではなく、PATCH により、既存のメンバーが PATCH メンバーに置き換えられます。

例えば、Claim API では、クレームリソースには witnesses 配列があります。これは、損害の目撃者である ClaimContacts の配列です。以下の PATCH ペイロードは、witnesses 配列を、単一の目撃者である ID が cc:1306 の ClaimContact に設定します。PATCH を行う前にこの配列に目撃者があった場合、その目撃者は削除され、目撃者は ClaimContact cc:1306 のみになります。

{
  "data": {
    "attributes": {
      "witnesses": [
        {
          "contact": {
            "id": "cc:1306"
          }
        }
      ]
    }
  }
}

PATCH を使用して配列への追加を行おうとする場合は、まず、配列の既存のメンバーを確認してから、既存のメンバーと追加したいメンバーを共に含めて、PATCH で配列を指定する必要があります。