直入主题,在前后端分离和微服务架构的背景下,请求接口由于各种原因导致返回超时,或因为各种原因各种重复调用同一接口,造成一个接口不停的被调用,所以接口的幂等性是基本要求。
提供2个方法
1 代码逻辑判断
2 token判断
简单说一下两种方法,具体自己扩展
1 代码逻辑判断方法,一般接口提供增删改查功能,重复新增和重复修改会产生接口幂等性问题,而删除和查询不会有太大影响,所以在修改时,一般会加乐观锁,也就是version,或者通过状态流转的判断,如订单已付款,通过状态机(即订单只有一次机会从未支付改变成已支付)判断支付状态,当已付款那新增操作即无效操作,避免重复付款,这个都是具体问题具体分析。
2 token判断,大致思路就是当发生页面跳转时生成token并存入像redis等的缓存,调用接口时带着token访问,接口完成时删除token,这种可以起到避免重复调用的功能。