接口防重方案设计

幂等性原理:前台的多次请求,对于后台,也是同一次请求;

通常接口设计方式:

1、前端的页面提交按钮置灰,防止用户重复点击;

2、对前端提交的token进行校验,防止表单的重复提交;

3、接口的防重可以使用接口表的组合唯一键进行防重,如果有重复数据,则插入失败;

4、增加请求的日志历史表,每次新的请求进来,都查看下历史表,防止重复数据访问;

实际项目使用

1、前端token防重:

(1) 首先前端加载页面,调用后台服务,后端服务生成Token,并且将Token记入Token表中;【Token表中主要登记Token值,删除标识,有效时间】

(2)第一次请求:前端请求加上token请求,给到后端,后端比较token值、删除标识,有效时间,判断是否有更新行数,如果有更新行数,

 则说明Token有效,删除token后进行下一步;

(3)重复请求:前端重复请求加上token请求,请求给到后端,后端验证token是否有更新,没有更新,则判断为重复请求;

你可能感兴趣的:(Java涨姿势,vue.js,java)