当您在 RESTFUL 服务上工作时,您经常会听到术语 GET/POST/PUT/DELETE
.我的问题是这么多动词背后的想法是什么?我可以在GET
的帮助下实现一切动词或者如果我想在消息正文中发布一些大数据,我可以使用 POST
动词。我认为没有必要超越这两个动词。
关于何时使用哪个动词,我们是否有任何一般准则?
使用一个动词比使用另一个有什么优势吗??
PS:我知道背后的想法
GET : Get object
PUT : Modify Object
DELETE: Delete Object
POST : Create Object
最佳答案
每个动词都有不同的用途。虽然可以简单地解析主体并忽略请求方法,但这是非常糟糕的做法,并且使任何人都难以更好地理解您的 Web 服务。
Wikipedia总结了请求方法及其预期行为。
一般来说:
GET
应该用于从网络请求信息服务。
POST
应该用于将数据放入 Web 服务器,那里有没有关于网络服务应该把数据放在哪里的规范。一个
示例可能是 StackOverflow 上的一个问题。这可以被认为等同于插入。
PUT
当您想指定数据的去向时应该使用它。这是一个幂等的 Action ,因为重复它不会改变任何东西
在每次重复调用时。一个例子可能是一个答案或评论
StackOverflow 因为它们将链接到资源,例如作为
回答一个特定的问题。或者,这可以被视为更新的等价物。
DELETE
显然是用来删除一些数据或来自网络服务器的资源。
还有其他请求方法(如维基百科文章中所述),但这些方法涵盖了人们与 Web 服务进行的主要交互。
关于rest - HTTP 动词 - 何时使用 GET/POST/PUT/Delete,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24886013/