我认为这篇文章无法完全回答问题。
情况
问题
有时会创建重复的资源并最终被引用。
解
公开允许资源“合并”的端点。这将执行以下操作:
问题
一个人如何做到这一点呢?我想做类似的事情:
PUT http://endpoint/resource/{id1}/merge/{id2}
{
//new merged resource
}
Run Code Online (Sandbox Code Playgroud)
id1 =资源在哪里保存,id2 =资源在哪里。另外,如果更有意义,也可以反之亦然。
但是,我担心的是,合并的行为会更新PUT上的两种资源。这是否违反规则,是否有更好的规定方法?
在我看来,RESTful 范式非常适合为人们提供有关您的 API 可能行为方式的指导,但将您所能做的一切都强加于其中并不会带来更好的开发人员体验。
除了标准的四个动词之外,我更愿意看到记录良好的 POST 操作。这是我的投票:
POST http://endpoint/resources/{id1}/merge
{
"merge_id": {id2}
}
Run Code Online (Sandbox Code Playgroud)
这也让您可以自由地支持多 ID 版本,如果这很常见的话。
POST http://endpoint/resources/{id1}/merge
{
"merge_ids": [
{id2}, {id3}, {id4}
]
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1006 次 |
| 最近记录: |