使用防重Token的接口幂等性校验

本文讨论了幂等性在处理前端重复请求中的重要性,特别是在下单场景。介绍了数据库唯一主键、防重Token(利用注解和Redis存储)以及分布式锁和乐观锁作为解决方案。重点讲解了防重Token的工作原理,确保请求结果的一致性。
摘要由CSDN通过智能技术生成

幂等性:一个用户对同一个操作发起一次或多次请求,请求的结果一致。不会因多次请求产生不同的结果

1接口幂等性校验使用场景

1前端提交重复表单:由于网络超时等原因点击多次提交,只能成功一次。(如下单时,界面没有反应,多次点击,其实后端已经收到多次请求,但只会创建一次订单)

2常见解决方案

1数据库唯一主键
2防重Token令牌(重点介绍)
3分布式锁
4数据库乐观锁

2.1防重token令牌介绍

使用防重token的好处:可扩展性好:使用注解,对于有注解标记的接口拦截器才会起作用。
在这里插入图片描述
工作过程:
1进入下单界面,前端会自动发请求,后端产生token返回前端,并将token存于redis中
2用户点击“下单”,由于网络原因,点击多次发送多次请求
3拦截器会拦截所有请求,只有成功删除redis中token的请求,才能进入“下单接口”,在数据库中创建订单。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值