当前位置: 首页 > news >正文

【接口限流】java中springboot实现接口限流防抖处理(JUC注解版)

文章目录

    • 1、添加pom项目依赖
    • 2、注解类RateLimit
    • 3、限流切面RateLimitAspect
    • 4、controller层使用注解
    • 小结

1、添加pom项目依赖

		<!--AspectJ来实现切面,在方法执行前进行限流检查--><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.9.7</version></dependency>

2、注解类RateLimit

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface RateLimit {int limit() default 0;long timeUnit() default 0;boolean byIp() default false;boolean byRequestParam() default false;String paramName() default "";
}

3、限流切面RateLimitAspect


import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.Signature;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation

http://www.mrgr.cn/news/50374.html

相关文章:

  • 【Java小白系列课】-01-Java环境安装-变量
  • Palo Alto Networks Expedition 未授权SQL注入漏洞复现(CVE-2024-9465)
  • 网络资源模板--Android Studio 实现宿舍管理系统App
  • MYSQL数据库和oracle数据库的详细对比,该怎么选择?
  • ICM20948 DMP代码详解(81)
  • pandas中数据子集的获取
  • 惊人秘诀!揭秘ChatGPT写作的最佳提问技巧!帮你拿到满分论文
  • 华宇携司法大模型亮相2024中国移动全球合作伙伴大会
  • 解锁救援秘诀:为什么救生抛投器你用不明白?
  • 探索全流量回溯分析系统:IT运维的必备利器
  • 【RabbitMQ】RabbitMQ 7种工作模式简单使用示例
  • C#归并排序算法(动态图解)
  • 恢复已删除文件的 10 种安卓数据恢复工具
  • Nuxt3部署-Ubuntu系统(Node 服务 + pm2 + Nginx 反向代理)
  • 第J5周:DenseNet+SE-Net实战(TensorFlow版)
  • 基于Python的自然语言处理系列(33):Huggingface基础与Pipeline
  • Piktures 2.17 | 高效相册管理工具
  • 如何用智能码二维码zhinengma.cn做设备标牌
  • OCP在Python中的应用
  • Linux应用框架cpp-tbox之TCP通信(下篇)