gpt4 book ai didi

rest - 在 Rest 中使用 POST 进行删除/更新?

转载 作者:可可西里 更新时间:2023-11-01 16:24:55 26 4
gpt4 key购买 nike

我明白了(来自接受的答案 What is the difference between HTTP and REST? )REST 只是一组关于如何使用 HTTP

的规则

接受的答案是:

No, REST is the way HTTP should be used.

Today we only use a tiny bit of the HTTP protocol's methods – namelyGET and POST. The REST way to do it is to use all of the protocol'smethods.

For example, REST dictates the usage of DELETE to erase a document (beit a file, state, etc.) behind a URI, whereas, with HTTP, you wouldmisuse a GET or POST query like ...product/?delete_id=22

我的问题是什么是缺点/缺点(技术或设计)如果我继续使用POST方法而不是DELETE/PUT 用于删除/更新 Rest 中的资源?

最佳答案

My question is what is the disadvantage/drawback(technical or design)If I continue to use POST method instead of DELETE/PUT fordeleting/updating the resource in Rest ?

POST 请求不是幂等,但DELETE 请求是幂等

幂等 HTTP 方法是一种可以多次调用而不会产生不同结果的 HTTP 方法

幂等性对于构建容错 API 很重要。

假设客户端想通过POST 更新资源。由于 POST 不是幂等方法,多次调用它可能会导致错误更新。如果您向服务器发出 POST 请求,但超时会发生什么情况。资源真的更新了吗?超时是在向服务器发送请求时发生的,还是在响应客户端时发生的?我们可以安全地重试一次,还是需要先弄清楚资源发生了什么?通过使用幂等方法,我们不必回答这个问题,但我们可以安全地重新发送请求,直到我们真正从服务器得到响应。

因此,如果您使用 POST 删除,将会有后果。

关于rest - 在 Rest 中使用 POST 进行删除/更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46167855/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com