| | |
| | | package com.ruoyi.common.annotation;
|
| | |
|
| | | import java.lang.annotation.Documented;
|
| | | import java.lang.annotation.ElementType;
|
| | | import java.lang.annotation.Retention;
|
| | | import java.lang.annotation.RetentionPolicy;
|
| | | import java.lang.annotation.Target;
|
| | | import com.ruoyi.common.constant.Constants;
|
| | | import com.ruoyi.common.enums.LimitType;
|
| | |
|
| | | import java.lang.annotation.*;
|
| | |
|
| | | /**
|
| | | * 限流注解
|
| | | * |
| | | * @author ruoyi
|
| | | *
|
| | | * @author Lion Li
|
| | | */
|
| | | @Target(ElementType.METHOD)
|
| | | @Retention(RetentionPolicy.RUNTIME)
|
| | | @Documented
|
| | | public @interface RateLimiter
|
| | | {
|
| | | public @interface RateLimiter {
|
| | | /**
|
| | | * 限流key
|
| | | */
|
| | | public String key() default Constants.RATE_LIMIT_KEY;
|
| | | String key() default Constants.RATE_LIMIT_KEY;
|
| | |
|
| | | /**
|
| | | * 限流时间,单位秒
|
| | | */
|
| | | public int time() default 60;
|
| | | int time() default 60;
|
| | |
|
| | | /**
|
| | | * 限流次数
|
| | | */
|
| | | public int count() default 100;
|
| | | int count() default 100;
|
| | |
|
| | | /**
|
| | | * 限流类型
|
| | | */
|
| | | public LimitType limitType() default LimitType.DEFAULT;
|
| | | LimitType limitType() default LimitType.DEFAULT;
|
| | | }
|