1、接口幂等性是什么
接口幂等性并不是数学中的幂等,而是对于用户来说不论网络波动或者刷新页面后重新操作某个动作等,最终导致对同一接口产生多次请求, 但是对于用户而言并没有产生影响。也就是说重复多次操作的结果 = 一次操作的结果。
2、有哪些常见的接口幂等性例子
线上商城订单连续点击2次支付,但是只扣了一次钱;
页面重复提交选中后的数据,数据库最终只会存一份;
网络抖动造成后台收到2次创建订单请求,最终只会生成一条;
。。。
3、项目中简单应用方案
1、前段控制: 按钮点击一次后,置灰不可再点击
2、重定向:对于无后续操作的,直接跳转到另一个页面
3、token:token加redis(单个),进入到页面后,后端给前段一个token,前段再提交数据时带上token返回给后端;利用redis删除token操作判断是否是有效token
4、version:在对数据库进行更新操作时,带上version号,同时对版本号+1操作,这就需要数据库表里也需要有该字段
5、悲观锁:一般不建议,要不失去了并发作用
后续再补充吧,,,,
接口幂等性是指多次调用同一接口,其结果始终相同,不会对系统产生额外影响。例如,多次支付请求仅扣款一次,重复提交数据只保存一条。实现接口幂等性的策略包括前端控制、重定向、token验证、版本控制和悲观锁。项目中可采用前段按钮禁用、重定向避免重复提交、利用token校验、版本号同步更新以及数据库操作限制来确保幂等性。
6323

被折叠的 条评论
为什么被折叠?



