【发布时间】:2015-06-13 07:46:05
【问题描述】:
在 Rest Services 中,当我们想从服务器检索一些数据时,我们通常使用“GET”请求,但是我们也可以使用“POST”请求来检索数据。 我们使用“POST”来创建,“PUT”来更新,“DELETE”来删除,但是我们甚至可以使用“DELETE”请求来创建新数据。
所以我只是想知道这背后的真正原因是什么,为什么要使用这些约定?
【问题讨论】:
-
HTTP 规范提供了关于何时以及如何使用每种 HTTP 方法和响应代码的建议。由于此协议不限制使用,因为这是特定于域的,您实际上可以通过
GET创建数据,但也可以通过DELETE检索数据。如果你实施 f.e.因此,返回实体 vie DELETE 的恢复队列可能是有意义的。此外,REST 应该是不言自明的——但是,如果您自定义 HTTP 操作,您将失去这些语义,因此需要提供明确的文档(这与 REST 原则背道而驰)。