用于“归档”条目的RESTful实现

时间:2015-04-08 22:37:17

标签: restful-architecture

假设我有machines的表格,其中一列名为status。这可以是activeinactivediscardeddiscarded计算机不再有用,仅用于交易目的。

现在假设我想discard一台机器。由于这是一个条目更新,RESTful,这将是对PUT的{​​{1}}请求。但是,由于这是一种非常特殊的更新,因此可能还会发生其他操作(例如,删除任何已分配的用户以及不执行的操作)。

那么这应该更像是/machines/:idPOST吗?

3 个答案:

答案 0 :(得分:0)

我认为最通用的方法是将{ status: 'discarded' }的机器对象POST到/machines/:id/

就个人而言,我更喜欢/machines/:id/discard方法。它可能不完全符合规范,但过滤更清晰,更容易。例如,可能允许某些用户更新计算机但不允许更新计算机#34;它

答案 1 :(得分:0)

从严格的REST角度来看,您是否考虑过实施PATCH?通过这种方式,您可以让它只更新该状态字段,然后将其绑定到更新所有必要的其他内容吗?

参考文献:

https://www.mnot.net/blog/2012/09/05/patch http://jasonsirota.com/rest-partial-updates-use-post-put-or-patch

答案 2 :(得分:0)

就个人而言,我认为当资源ID未知或与正在进行的更新无关时,应使用帖子。

这会使我特别使用的方法,因为你还有其他需要更新的状态类型

路径

/machines/id

讯息正文

{"status":"discarded"}