From 5ccd9877b4ebdb5c17eae6d8b66e91872fb877b5 Mon Sep 17 00:00:00 2001
From: 若依 <yzz_ivy@163.com>
Date: Sat, 18 Sep 2021 18:47:06 +0800
Subject: [PATCH] !325 update 优化aop语法 使用spring自动注入注解 基于注解拦截的aop注解不可能为空 Merge pull request !325 from 疯狂的狮子Li/master
---
ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RateLimiterAspect.java | 31 ++++---------------------------
1 files changed, 4 insertions(+), 27 deletions(-)
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RateLimiterAspect.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RateLimiterAspect.java
index fd456b0..7727051 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RateLimiterAspect.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RateLimiterAspect.java
@@ -49,16 +49,9 @@
this.limitScript = limitScript;
}
- // 配置织入点
- @Pointcut("@annotation(com.ruoyi.common.annotation.RateLimiter)")
- public void rateLimiterPointCut()
+ @Before("@annotation(rateLimiter)")
+ public void doBefore(JoinPoint point, RateLimiter rateLimiter) throws Throwable
{
- }
-
- @Before("rateLimiterPointCut()")
- public void doBefore(JoinPoint point) throws Throwable
- {
- RateLimiter rateLimiter = getAnnotationRateLimiter(point);
String key = rateLimiter.key();
int time = rateLimiter.time();
int count = rateLimiter.count();
@@ -84,33 +77,17 @@
}
}
- /**
- * 是否存在注解,如果存在就获取
- */
- private RateLimiter getAnnotationRateLimiter(JoinPoint joinPoint)
- {
- Signature signature = joinPoint.getSignature();
- MethodSignature methodSignature = (MethodSignature) signature;
- Method method = methodSignature.getMethod();
-
- if (method != null)
- {
- return method.getAnnotation(RateLimiter.class);
- }
- return null;
- }
-
public String getCombineKey(RateLimiter rateLimiter, JoinPoint point)
{
StringBuffer stringBuffer = new StringBuffer(rateLimiter.key());
if (rateLimiter.limitType() == LimitType.IP)
{
- stringBuffer.append(IpUtils.getIpAddr(ServletUtils.getRequest()));
+ stringBuffer.append(IpUtils.getIpAddr(ServletUtils.getRequest())).append("-");
}
MethodSignature signature = (MethodSignature) point.getSignature();
Method method = signature.getMethod();
Class<?> targetClass = method.getDeclaringClass();
- stringBuffer.append("-").append(targetClass.getName()).append("- ").append(method.getName());
+ stringBuffer.append(targetClass.getName()).append("-").append(method.getName());
return stringBuffer.toString();
}
}
--
Gitblit v1.9.2