我正在尝试决定应该使用哪种Http方法PUT或POST。
在查看StackOverlflow上的一些帖子时,我可以看到this帖子。
帖子中的一个答案说
PUT是幂等的,所以如果你将对象PUT两次,它就没有效果。这是一个很好的属性,所以我会尽可能使用PUT。
有人可以通过一个例子来帮助我。让我们说我有一个场景,我正在尝试创建一个学生,其条目将在RDBMS中的Student表中传递。
所以在这里,如果我试图一次又一次地输入那个条目会没有效果吗?
答案 0 :(得分:8)
在PUT中,您正在设置所有资源的值,因此当完成PUT时,您确切知道资源的状态。如果你等了一个星期再次打电话给你的PUT,你仍然可以确切地知道资源的状态。
相比之下,POST 不幂等 - 您只发布一部分值。因此,如果您今天致电POST,等待一周,再次进行相同的POST调用,您不知道该资源的状态是什么 - 有人可能更改了您未在POST中设置的值。
幂等意味着无论您何时或多久拨打一次电话,资源的最终状态都是完全相同的。
DELETE和GET也是幂等的。