gpt4 book ai didi

rest - 设计Restful API时,UNFOLLOW应该用DELETE还是POST?

转载 作者:行者123 更新时间:2023-12-02 19:50:49 29 4
gpt4 key购买 nike

我脑子里想了一天这个问题,我试着阅读 RESTful Web Services Cookbook 和其他 stackoverflow 帖子,但仍然没有得到这个问题的令人信服的答案:

假设我有一个存储两个用户之间关系的数据库表,该关系表示用户 A 是否关注用户 B(例如在 Instagram/Twitter 上)。

userId|userId
------|------
userA | userB
userA | userC
....

那么现在如果用户 A 想要取消关注 用户 B,那么这个 API 应该是 DELETE 还是 POST

在 RESTful Web Services Cookbook 第 11 页,它说:

DELETE 方法是幂等的。这意味着服务器必须返回响应代码 200 (OK),即使服务器在之前的请求中删除了资源。但在实践中,实现DELETE 作为幂等操作要求服务器跟踪所有已删除的资源。否则,它会返回 404(未找到)。”

这是否建议我们尽可能避免使用 DELETE

感谢您对这个问题的任何见解!

最佳答案

DELETE 用于删除特定资源。因此,DELETE 是否适合您取决于您​​是否拥有“代表”两个用户之间的关注关系的单一资源。

例如,如果您有这样的资源:

/api/userA/follows/userB

那么可以说这个资源代表了两者之间的关系。它有一个唯一的 url,所以这个 url 可以被删除,此时我希望关系被切断。

关于rest - 设计Restful API时,UNFOLLOW应该用DELETE还是POST?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58158523/

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