在适当的 REST API 实现中,假设我正在编写一个 API 让用户修改 uri slug,例如更改/acme/first
为/acme/second
.
取决于我是提交当前代表的部分记录 ( patch
) 还是整个记录 ( ), uri 是否应该有所不同?put
first
例如:
PUT /acme/second
{ [...], "current-slug": "first", "color": "blue" }
反对新的uri,因为put
意思是“这里有”。
对比
PATCH /acme/first
{ "new-slug": "second", "color": "blue" }
修补旧的uri 因为patch
意味着“修改这里的东西”。
我怀疑这是一个边缘案例,但很有趣,因为几乎所有文档都恰好显示了相同的 uri 用于put
vspatch
操作,尽管显然post
通常是不同的 uri。