RedisLimit.java 741 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package com.fdkankan.openApi.component;
  2. import com.fdkankan.openApi.constant.LimitType;
  3. import java.lang.annotation.*;
  4. import java.util.concurrent.TimeUnit;
  5. @Target({ElementType.METHOD,ElementType.TYPE})
  6. @Retention(RetentionPolicy.RUNTIME)
  7. @Inherited
  8. @Documented
  9. public @interface RedisLimit {
  10. // 资源名称
  11. String name() default "";
  12. // 资源key
  13. String key() default "";
  14. /**
  15. * 滑动窗口时间单位,默认 分钟
  16. */
  17. TimeUnit timeUnit() default TimeUnit.SECONDS;
  18. // 时间
  19. int period();
  20. // 最多访问次数
  21. int limitCount();
  22. // 类型
  23. LimitType limitType() default LimitType.APP_KEY;
  24. // 提示信息
  25. String msg() default "系统繁忙,请稍后再试";
  26. }