处理数组属性上的 PATCH 请求的最佳方法是什么?

Pez*_*Pez 5 rest

我一直在四处寻找,但没有找到答案,如果我错过了什么,请告诉我资源。

我正在构建一个(主要是)RESTful web 服务,并且需要允许客户端修补资源。我意识到根据定义 PATCH 不是 RESTful,但我仍然试图尽可能接近标准。

我不确定如何处理数组属性的修补……例如,我的父对象有多个子对象。因此,如果有人使用 children 参数修补父对象,我应该替换现有的子对象还是附加到它们?

就像是

PATCH parent/:id
{
  children: [
    { property: value }
  ]
}
Run Code Online (Sandbox Code Playgroud)

我可以只对子对象使用 POST 和 DELETE 从父对象中添加和删除它们,但是我希望能够修补父对象以更新其他非数组属性,并且只允许修补一些似乎是错误的属性而不是其他。也许这是正确的答案,我不确定。

我已经阅读了很多关于正确 PATCHing 的帖子,但他们似乎都没有谈论这个问题。如果有人有任何意见,我将不胜感激-

Eri*_*ein 5

我建议将RFC 6902作为一些轻松阅读。它充实了处理 PATCHing JSON 资源的好方法。