diff --git a/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/config/GatewayConfig.java b/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/config/GatewayConfig.java index 5150d07d0..98b6e4f92 100644 --- a/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/config/GatewayConfig.java +++ b/ruoyi-extend/ruoyi-isc-gateway/src/main/java/com/ruoyi/gateway/config/GatewayConfig.java @@ -4,18 +4,14 @@ import com.ruoyi.gateway.config.provider.RedisRouteDefinitionRepository; import com.ruoyi.gateway.filter.factory.AddRequestParamGatewayFilterFactory; import com.ruoyi.gateway.filter.factory.RemoveRequestParamGatewayFilterFactory; import org.redisson.api.RedissonClient; -import org.springframework.cloud.gateway.filter.ratelimit.KeyResolver; -import org.springframework.cloud.gateway.route.Route; import org.springframework.cloud.gateway.route.RouteDefinition; import org.springframework.cloud.gateway.route.RouteDefinitionRepository; -import org.springframework.cloud.gateway.support.ServerWebExchangeUtils; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer; -import reactor.core.publisher.Mono; import javax.annotation.Resource; @@ -70,10 +66,4 @@ public class GatewayConfig { return new RemoveRequestParamGatewayFilterFactory(); } - - @Bean("routeIdKeyResolver") - public KeyResolver routeIdKeyResolver() - { - return exchange -> Mono.just(((Route) exchange.getAttributes().get(ServerWebExchangeUtils.GATEWAY_ROUTE_ATTR)).getId()); - } } diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/utils/RouteUtils.java b/ruoyi-isc/src/main/java/com/ruoyi/isc/utils/RouteUtils.java index 0a1b22fbe..220e97468 100644 --- a/ruoyi-isc/src/main/java/com/ruoyi/isc/utils/RouteUtils.java +++ b/ruoyi-isc/src/main/java/com/ruoyi/isc/utils/RouteUtils.java @@ -166,17 +166,6 @@ public class RouteUtils { stripPrefixFilter.getArgs().put("parts", "1"); filters.add(stripPrefixFilter); - final Long quotaSeconds = appService.getQuotaSeconds(); - if (Objects.nonNull(quotaSeconds)) - { - IscFilterDefinition requestRateLimiterFilter = new IscFilterDefinition(); - requestRateLimiterFilter.setName("RequestRateLimiter"); - requestRateLimiterFilter.getArgs().put("redis-rate-limiter.replenishRate", String.valueOf(quotaSeconds)); - requestRateLimiterFilter.getArgs().put("redis-rate-limiter.burstCapacity", String.valueOf(quotaSeconds << 1)); - requestRateLimiterFilter.getArgs().put("key-resolver", "#{@routeIdKeyResolver}"); - filters.add(requestRateLimiterFilter); - } - IscFilterDefinition removeRequestParamFilter = new IscFilterDefinition(); removeRequestParamFilter.setName("RemoveRequestParam"); removeRequestParamFilter.getArgs().put("name", ACCESS_KEY_NAME); @@ -205,6 +194,7 @@ public class RouteUtils { //其他信息 Map metadata = route.getMetadata(); + metadata.put("secondsLimit", toString(appService.getQuotaSeconds())); metadata.put("minutesLimit", toString(appService.getQuotaMinutes())); metadata.put("hoursLimit", toString(appService.getQuotaHours())); metadata.put("daysLimit", toString(appService.getQuotaDays()));