因此,我正在对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)字段和方法分开。
答案 0 :(得分:0)
最佳选择是第四,修补将资源的状态字段设置为'取消'
的订单PATCH /api/1/orders/123 { 'status' : 'cancel' }
或者
PUT /api/1/orders/123/status cancel
后者的优点是很容易链接到html表单并与之一起使用。