我应该使用哪种HTTP方法用于执行READ&WRITE的REST服务方法?

按照RESTful服务准则,我们应该使用GET用于读取资源,POST用于创建新的资源,DELETE用于删除现有资源等我应该使用哪种HTTP方法用于执行READ&WRITE的REST服务方法?

但是假设我开发一个RESTful Web服务,说OrderProcessing。在placeOrder(Order)方法中,我必须阅读一些表格,如库存,产品详细信息等,在订单和订单详细信息中插入一些新行,并执行更新,例如降低库存水平等。然后,我应该使用什么HTTP方法用于placeOrder ) 方法。

在非常高的层次上,我们正在创建一个新的资源(Order),所以我认为POST是使用正确的HTTP方法。

但是一般来说什么动词应该用于在同一个方法内读取/创建/更新数据的方法?

回答:

我同意你的看法,POST在这里是合适的。即使您正在进行多项操作,您也可以将其视为订单资源的单一创建。至于其他业务,我会将这些内容视为您未向您的服务消费者公开的内部细节。

编辑 - 更进一步,这里假设您已将Order定义为您的资源,并且POST正文包含此资源的表示形式。并且要完全RESTful,如果POST导致创建新订单,那么HTTP 201是适当的响应代码。有关更多详细信息,请参阅http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html的第9.5节。

回答:

绝对POST。您可以排除GET和DELETE,原因很明显,您只想使用PUT进行幂等操作。由于您正在减少库存,因此您可以安全地排除PUT作为可行的选项。

以上是 我应该使用哪种HTTP方法用于执行READ&WRITE的REST服务方法? 的全部内容, 来源链接: utcz.com/qa/266128.html

回到顶部