Explorar o código

还原全局限流配置

luoshi %!s(int64=2) %!d(string=hai) anos
pai
achega
328c3ccbf5

+ 10 - 3
api-demo/src/main/java/com/qmth/demo/api/controller/IndexController.java

@@ -5,11 +5,13 @@ import com.qmth.boot.api.annotation.BOOL;
 import com.qmth.boot.api.config.ApiProperties;
 import com.qmth.boot.api.config.ApiProperties;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.boot.core.enums.Platform;
 import com.qmth.boot.core.enums.Platform;
+import com.qmth.boot.core.rateLimit.annotation.RateLimit;
 import com.qmth.boot.core.security.config.SecurityProperties;
 import com.qmth.boot.core.security.config.SecurityProperties;
 import com.qmth.boot.core.uid.service.UidService;
 import com.qmth.boot.core.uid.service.UidService;
 import io.micrometer.core.annotation.Timed;
 import io.micrometer.core.annotation.Timed;
 import org.apache.commons.lang3.RandomUtils;
 import org.apache.commons.lang3.RandomUtils;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
@@ -31,7 +33,7 @@ public class IndexController {
 
 
     @RequestMapping("/config")
     @RequestMapping("/config")
     public Object config(HttpServletRequest request) {
     public Object config(HttpServletRequest request) {
-        return request.getAttribute(ApiConstant.ATTRIBUTE_AAC_CONFIG);
+        return request.getAttribute(ApiConstant.ATTRIBUTE_API_CONFIG);
     }
     }
 
 
     @RequestMapping("/strict")
     @RequestMapping("/strict")
@@ -74,8 +76,13 @@ public class IndexController {
     }
     }
 
 
     @RequestMapping("/rateLimit")
     @RequestMapping("/rateLimit")
-    @Aac(rateLimit = "1/1s")
-    public Object rateLimit() {
+    @Aac(rateLimit = @RateLimit(count = 1))
+    public Object rateLimit(@RequestParam int sleep, @RequestParam(required = false) Boolean exception)
+            throws InterruptedException {
+        if (exception != null && exception) {
+            throw new RuntimeException("rate limit exception!");
+        }
+        Thread.sleep(sleep);
         return true;
         return true;
     }
     }
 
 

+ 0 - 1
api-demo/src/main/resources/application.properties

@@ -1,6 +1,5 @@
 server.port=8080
 server.port=8080
 spring.resources.static-locations=classpath:/static/,file:/Users/luoshi/Downloads/
 spring.resources.static-locations=classpath:/static/,file:/Users/luoshi/Downloads/
-management.endpoints.web.exposure.include=health,metrics,prometheus
 
 
 #com.qmth.api.uri-prefix=/aaa
 #com.qmth.api.uri-prefix=/aaa
 com.qmth.api.global-auth=false
 com.qmth.api.global-auth=false