RESTful API和调用远程方法(RPC)

时间:2014-06-18 11:38:27

标签: rest web architecture

因此,我正在对RESTful API进行一些研究,并且我试图澄清如何在资源上调用方法(主要是RPC)。

所以,如果我想在资源(订单)上调用一个方法(取消),从目前为止我可以看到的方法,我可以用两种方法之一:

POST /api/1/orders/123/cancel { }

POST /api/1/orders/123 { 'action' : 'cancel' }

希望这有意义吗?

我个人更喜欢前者,你可以输入url并调用方法,后者需要一些额外的POST params工作。该方法所需的任何参数都将进入POST?

我想第三个就是:

PATCH /api/1/orders/123 { 'state' : 'cancelled' }

但是我试图将订单(对象' s)字段和方法分开。

1 个答案:

答案 0 :(得分:0)

最佳选择是第四,修补将资源的状态字段设置为'取消'

的订单
PATCH /api/1/orders/123 { 'status' : 'cancel' }

或者

PUT /api/1/orders/123/status cancel

后者的优点是很容易链接到html表单并与之一起使用。