从系统严整来说,# 接口幂等性应该放入后台
1. 我们可以按需进行# 接口幂等性验证,需要验证的接口加入注解
2. 前端在请求这类接口时,首先从后台获取一个id
3. 后台在id请求时,生成id存入redis中,
4. 前端请求时需要带入id
5.后端拦截所有api请求,从头部获取id,去redis验证
这个问题需要分端来看:
前端:当提交请求后,如果后端没有应答,那么按钮一直处于不可点击状态,避免用户的重复点击
后端:可以使用token机制,整理需要幂等的接口,前端调用后端的token获取服务返回获取token,并把token存入缓存,前端拿到token放在head里面和请求一起提交。此时后端来判断如果缓存中有对应token则可以处理业务,否则就是重复提交,直接返回操作成功即可。
当然接口的幂等方案很多,如:
1、MVCC
2、去重表
3、唯一主键
要看业务上是满足那种方案,而且方案的实施成本最小。