一.什么是接口的可重入,什么是幂等
简单来说接口的幂等就是接口可以重复调用,在调用方多次调用的时候,传入一致的参数最终返回的结果是一样的。
遇到问题:之前做过一个项目,用户通过消耗积分(调用自身的系统)来增加玩游戏的机会。当用户扣减了积分,把用户的信息更新到数据库中,返回给前端。问题:如果在更新用户信息的过程中失败,则就出现了积分扣减了,但机会数没有增加。
二.解决上述问题的方法
Token机制:
具体步骤:
(1)客户端请求服务器获取唯一的token
(2)服务器在生成token,返回给客户端,并且把token存到redis中,并带有过期时间(如果没有过期时间,删除的时候失败,会导致下一次进来的时候默认为已经存在token)
(3)客户端获得token
(4)客户端携带token向服务器发出请求
(5)服务器查询redis是否存在token存在则扣减积分,不存在则不扣减积分,玩游戏
(6)扣减积分(假设一定扣减成功)以后更新用户信息,如果更新成功删除tokenÿ
聊聊接口的幂等和可重入
最新推荐文章于 2024-01-28 14:30:35 发布