休息 api 使用部分 json 更新资源

rest api update resource with partial json

想要了解设计 REST 的良好实践API

如果资源需要部分更新,哪个更好? PUT 或 PATCH

我的理解是否正确请指教

POST - 为客户保留 2 个地址

{"custId":"1", "name":"Rocky", 
"address":[{"id":"1","zip":"1234"}, 
{"id":"2","zip":"12345"}]
}

现在 更新 地址 id 1 的邮政编码

PUT - 完整 JSON 是发送到 REST 的要求 API ?

{"custId":"1", "name":"Rocky", 
"address":[{"id":"1","zip":"9876"}, 
{"id":"2","zip":"12345"}]
}

PATCH - 部分(或全部)JSON 可以发送到 REST API ?

{"custId":"1", "name":"Rocky", 
"address":[{"id":"1","zip":"9876"}]
}

你的理解似乎基本正确,但是你的例子暗示了你的思路可能存在问题。您正在谈论的文档实际上是具有地址集合的客户。每个地址都可以看作一个单独的文档,因为它有一个 ID。因此,您的 api 应该允许您在不更新客户的情况下更新单个地址。您在示例中缺少的是资源的 URI。因此,您应该使用 customer/1 之类的东西来识别客户,也许还应该使用 customer/1/address/1 之类的东西来识别地址。