V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  baiyi  ›  全部回复第 8 页 / 共 53 页
回复总数  1050
1 ... 4  5  6  7  8  9  10  11  12  13 ... 53  
2021-06-11 09:33:57 +08:00
回复了 darrenfang 创建的主题 全球工单系统 发现 2 个钓鱼网站
下个反诈 app,可以直接举报短信
2021-06-04 10:47:12 +08:00
回复了 yusheng88 创建的主题 问与答 幂等性接口,操作成功或失败,该返回什么?怎么响应?
@yusheng88 #4 接口的响应数据是与业务紧密关联的,需要服务于调用者。
比如 DELETE 操作,一般情况下是可以响应 204 status,同时响应内容为空。可如果你的业务需要在删除后响应一个关联的资源内容,那么就应该响应 200 status,同时响应关联内容。
2021-06-04 07:54:58 +08:00
回复了 yusheng88 创建的主题 问与答 幂等性接口,操作成功或失败,该返回什么?怎么响应?
在我看来幂等性和响应内容是无关的。

从 HTTP 的设计上来看。它为 methods 设计两种特性,安全性和幂等性,同时安全的一定是幂等的。安全性表示用户可以随意调用该接口,而不用担心对资源的影响,幂等性表示用户无论调用多少次该结构,对其资源的影响是一定的。
GET:安全且幂等
POST:不安全且不幂等
PUT:不安全但幂等
DELETE:不安全但幂等

先撇开安全不谈,幂等性的设计好处是什么呢?这就是我们设计接口时 POST 和 PUT 的区别。当你将接口设置为 PUT 时,就表示告诉了调用者,这个接口是可以重试的。
用最常见的新增场景来表示,POST 和 PUT 都可以用来添加资源,但 POST 不能重试,每一次请求都有可能添加一个新资源; PUT 可以重试,它只会在服务器中增加一个用户所描述的资源,无论用户重复调用多少次。

给一个典型的例子,为什么 Github v3 API 的 Star 操作是 PUT 而不是 POST,应该就是有幂等性的考虑。
https://docs.github.com/en/rest/reference/activity#star-a-repository-for-the-authenticated-user
1 ... 4  5  6  7  8  9  10  11  12  13 ... 53  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2833 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 38ms · UTC 13:21 · PVG 21:21 · LAX 06:21 · JFK 09:21
Developed with CodeLauncher
♥ Do have faith in what you're doing.