Java自定义注解实现防止接口重复访问(限流)
【摘要】 项目场景:有一些场景,例如申请提交之后几秒内需要防止用户重复提交,我们后端通过自定义注解实现这一功能需要的pom依赖:在编写项目之前,如果要用自定义注解实现这一功能,需要导入spring aop,redis依赖等<!-- spring aop依赖--> <dependency> <groupId>org.springframework.b...
项目场景:
有一些场景,例如申请提交之后几秒内需要防止用户重复提交,我们后端通过自定义注解实现这一功能
需要的pom依赖:
在编写项目之前,如果要用自定义注解实现这一功能,需要导入spring aop,redis依赖等
。
实现:
1、新建一个自定义注解,定义变量
··2、定义切面实现类
实现思路
在段代码,流程是在执行接口方法前(加上注解的方法),获取用户的userTicker和访问的类和方法,将这几个参数拼接组成一个字符串,然后查询redis,如果没有结果,说明是第一次访问,把这个字符串写入redis,设置过期时间;之后在为过期的时候在访问,抛出异常,后续可以定义一个全局异常捕获,把异常信息抛出给前端
只需要在需要防止重复访问的方法上新增注解,非常方便
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)