【发布时间】:2019-09-29 19:32:29
【问题描述】:
我脑子里想了一天这个问题,我尝试阅读 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?
感谢您对这个问题的任何见解!
【问题讨论】:
标签: rest api api-design restful-url