springboot 防抖操作

大佬的代码:看这里

原理:

通过aop切面编程,在调用接口前缓存接口信息,将信息缓存到redis中,在规定时间内重复调用接口,会被拦截请求

有个地方感觉不太合理,在使用中我将其修改了

java 复制代码
	//前略
public class PreventAop {
	
	public String getToken(){
		//该方法仅作参考
		return sra.getRequest().getHeader("Authorization");
	}
	
private void defaultHandle(String token, Prevent prevent,String methodFullName) throws Exception {
		
        long expire = Long.parseLong(prevent.value());
		//此处改为将token作为凭据,避免不通账号调用同一接口导致请求被拦截
        String resp = redisUtil.get(methodFullName+token);
        if (StringUtils.isEmpty(resp)) {
            redisUtil.set(methodFullName+token, requestStr, expire);
        } else {
            String message = !StringUtils.isEmpty(prevent.message()) ? prevent.message() :
                    expire + "秒内不允许重复请求";
            throw new BusinessException(message);
        }
    }
}
相关推荐
杨丰玮4181 分钟前
暑假Java知识点回顾:类与对象知识总结
java·开发语言
盐焗鹌鹑蛋2 分钟前
【Linux】ELF与库加载
java·linux·服务器
WarPigs7 分钟前
Unity未激活的物体无法响应事件?
java·unity·游戏引擎
十五喵源码网11 分钟前
基于SpringBoot2+vue2的公寓报修管理系统
java·毕业设计·springboot·论文笔记
珍珠先生13 分钟前
第16章 集合框架:List 与 Set
java
薛定猫AI31 分钟前
【深度解析】DeepSeek Harness:可插拔智能体运行时如何连接大模型与真实计算机
java·运维·网络
rannn_11137 分钟前
【力扣hot100】回溯专题|全排列、子集、字母组合、组合总和、括号生成、单词搜索、分割回文串、N皇后
java·算法·leetcode·回溯
蒲锘38 分钟前
DevOps 实验阶段四:Infra 节点 + MySQL + Spring Boot 容器化
spring boot·mysql·docker
叫我:松哥39 分钟前
基于flask图书管理系统,技术栈flask+layui+sqlite+Echarts
后端·python·数据分析·flask·echarts·layui
铁皮饭盒40 分钟前
网页端, 5.5mb谷歌模型, 识别躯干, 视频都不卡
前端·javascript·后端