JSON补丁

JSON Patch 是一个 JSON 操作数组,包含添加、删除、替换、移动、复制和测试等操作,每个操作都使用 JSON 指针(例如/tags/0.它作为 PATCH 请求的主体发送,并带有 Content-Type application/json-patch+json,这样可以准确地告诉服务器要更改的内容,而不是发送整个资源的新副本。

工作原理

操作按顺序执行,并且补丁旨在实现原子性:如果任何操作失败,则所有操作都不应生效。测试操作是一个内置的前提条件—— "only apply this patch if /status is still draft" ——这使得 JSON Patch 成为一种轻量级的字段级乐观并发机制。

误解

使用 PATCH 请求发送的部分 JSON 对象是 JSON Patch。而 JSON Merge Patch(RFC 7396)则是一种不同的格式,其中 null 表示"delete this field" ,并且数组只能整体替换。服务器通常只接受其中一种格式,而 Content-Type 就是区分这两种格式的依据。

点击这里试试

PATCH /protocol/v1/documents/{id}接受一个 RFC 6902 数组:添加、替换、删除和测试/title 、 /body和/tags — 测试失败返回 409,而 body 不是数组则返回 400。

资料来源

其他术语

阅读英文版

所有术语 · 测试技巧 · 全部 39 个模拟 REST API

最后更新时间