【发布时间】:2012-03-21 09:22:18
【问题描述】:
假设我需要开发一个 REST 银行应用程序 允许创建/销毁银行账户以及 对账户进行以下操作:withdraw/credit/getBalance。
- 创建帐户
PUT /银行/约翰
这里我使用 PUT 而不是 POST 因为这个操作是 幂等并且因为客户端给出了URL
- 帐户的销毁
删除/银行/约翰
- 获取平衡
GET /银行/约翰
- 从账户中取款
POST /银行/约翰
action=withdraw&value=10
- 将钱存入帐户
POST /银行/约翰
action=credit&value=10
在这里,我使用了 POST,因为提款/信用显然不是幂等的
设计这些操作是否符合 RESTful 标准?
我感觉我正在写一些类似于 RPC 的东西,方法是把动词 (withdraw | credit) 放在里面 action 参数.. 我经常读到 REST 不应该模仿类似 RPC 的风格...
【问题讨论】:
-
我认为您需要消除动作动词并完全(尽可能)依赖 HTTP 方法来说明设计是 REST。