幂等性原本是数学上的概念,即使公式:f(x)=f(f(x)) 能够成立的数学性质。用在编程领域,则意为对同一个系统,使用同样的条件,一次请求和重复的多次请求对系统资源的影响是一致的。
接口的增删改查操作:
1.查询是天然的幂等操作;
2.删除一次和多次删除都是把数据删除。(返回结果可能不一样,删除的数据不存在,返回0,删除的数据多条,返回结果多个,在不考虑返回结果的情况下,删除操作也具有幂等性);
3.修改大多数是幂等的,但如果是增量修改需要保证幂等性;
4.新增当然不是幂等的。
流程如下:
1.前端弹出表单发送token请求,后端生成、存储token到redis,并返回token
2.提交表单数据,header中携带token,发送接口请求
3.后端使用AOP before校验token,如果存在这个token,则删除,继续走下面的流程,如果不存在token,则返回重复提交。