Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试确定应该使用 PUT 还是 POST 的 Http 方法。
在查看 StackOverlflow 上的一些帖子时,我可以看到这篇文章。
帖子中的一个答案说
PUT 是幂等的,所以如果你 PUT 一个对象两次,它就没有效果。这是一个不错的属性,所以我会尽可能使用 PUT。
有人可以帮我举个例子吗?假设我有一个场景,我正在尝试创建一个学生,其条目将在 RDBMS 的学生表中传递。
所以在这里,如果我一次又一次地尝试 PUT 那个条目会没有效果吗?
在 PUT 中,您正在设置资源的所有值,因此当 PUT 完成时,您可以确切地知道资源的状态。如果您等待一周并再次调用您的 PUT,您仍然可以确切地知道资源的状态。
相比之下,POST不是幂等的——您只发布值的子集。因此,如果您今天调用 POST,等待一周,然后再次进行相同的 POST 调用,您不知道资源的状态是什么 - 有人可能更改了您未在 POST 中设置的值。
幂等意味着无论您何时或多久进行一次调用,资源的最终状态都是完全相同的。
DELETE 和 GET 也是幂等的。