JSON-Patch'删除'空路径 - 官方标准结果是什么?

时间:2017-08-20 15:24:49

标签: json jsonpath json-patch

以下'删除'JSON补丁的标准结果是什么?""路径为空?

[{ "op": "remove", "path": ""}]

是否应该清除整个对象,等于分配{}?在http://jsonpatch.com/中它说:要指向文档的根,请使用空字符串作为指针。所以我想根目录上的'remove'会删除整个对象,对吧? / p>

我尝试了两个不同的JSON Patch库,它们有两个不同的结果:

官方认可的标准结果是什么?我在RFC中查看了JSON补丁(https://tools.ietf.org/html/rfc6902)但找不到任何内容。

1 个答案:

答案 0 :(得分:1)

RFC 6902引用此内容以进一步处理错误:https://tools.ietf.org/html/rfc5789#section-2.2

对我而言,这部分似乎符合法案:

Resource not found:  Can be specified with a 404 (Not Found) status
  code when the client attempted to apply a patch document to a non-
  existent resource, but the patch document chosen cannot be applied
  to a non-existent resource.

因为你基本上没有定义任何资源 - 甚至不能/更明确地引用根/整个对象。

我猜两个库的区别在于这两个库通常被认为是相同的:
/my/resource
/my/resource/

但通常非/路径会自动301重定向到具有/的路径。所以我个人会回复"path": ""

的404回复