gpt4 book ai didi

http - 评论的编辑应该通过 POST 还是 PUT 发送?

转载 作者:可可西里 更新时间:2023-11-01 17:04:00 26 4
gpt4 key购买 nike

我有以下 URI:Posts/{postId}/Comments/{commentId}
我想让用户能够通过我的 API 编辑评论,应该使用 POST 还是 PUT 来完成编辑?
一方面,POST 更新资源的内容以便有意义,但另一方面 PUT 将其替换为新内容。因此,如果我对 POST 的理解正确,我只需要发送需要更新的内容,而对于 PUT,我会发送整个资源。
通常在编辑表单中,无论如何都会加载整个资源,那么使用 POST 有什么意义呢?
如果我采用一种或另一种方法,有什么区别?

最佳答案

根据我的阅读(在 RESTful Web Services, published by O'Reilly 中),您应该使用 PUT 来更新现有评论似乎很清楚。

  • PUT 旨在用于更新和创建资源。

  • POST 也可用于创建资源。这里的区别在于,当 POSTing 时,您不需要知道要创建的资源的确切 URI。 (该服务将在其响应中报告新资源的 URI。)

  • POST 适用于部分更新,或将信息附加到资源; PUT 适用于资源的完整更新(替换)。

  • 更新时,您可以发送部分更新,但您应该确保这些更新是幂等的; IE。如果您多次发送相同的更新,则更新将始终具有相同的效果。不要发送诸如“n 增加 1”之类的更新;相反,发送更新,例如“将 n 设置为 5。”

因此,针对您的情况,我的建议如下:

  • 使用 POST/Posts/{postId}/Comments 创建新评论,因为客户端不知道 {commentId 提前。

  • 使用 PUT /Posts/{postId}/Comments/{commentId} 来完全更新评论(或者可能是 POST向其附加文本时)。

关于http - 评论的编辑应该通过 POST 还是 PUT 发送?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4554022/

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