当您使用RESTFUL服务时,您经常会听到GET/POST/PUT/DELETE
这两个词。我的问题是这么多动词背后的想法是什么?我可以在GET
动词的帮助下实现一切,或者如果我想在消息正文中发布一些大数据,我可以使用POST
动词。我不认为有必要超越这两个动词。
关于何时使用哪个动词,我们是否有任何一般准则? 使用一个动词比另一个动词有什么好处吗?
PS:我知道背后的想法
GET : Get object
PUT : Modify Object
DELETE: Delete Object
POST : Create Object
答案 0 :(得分:2)
每个动词都有不同的用途。虽然可以简单地解析正文并忽略请求方法,但这是非常糟糕的做法,这使得任何人都更难以更好地理解您的Web服务。
Wikipedia总结了请求方法及其预期行为。
一般来说:
应使用GET
从网上请求信息
服务。
应该使用POST
将数据放到Web服务器上
没有规定Web服务应该放置数据的位置。一个
示例可能是StackOverflow上的问题。这可以被认为相当于插入。
如果要指定数据的位置,则应使用PUT
。
这是一种幂等行为,重复它不会改变任何东西
每次重复通话。一个例子可能是回答或评论
StackOverflow因为它们将链接到资源,例如
回答一个具体的问题。或者,这可以被视为等同于更新。
显然,DELETE
用于删除某些数据或a
来自网络服务器的资源。
还有其他请求方法(如维基百科文章中所述),但这些方法涵盖了人们对Web服务的主要交互。