|
@@ -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;
|
|
}
|
|
}
|
|
|
|
|