You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
862 B
40 lines
862 B
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; |
|
|
|
/** |
|
* 限流注解 |
|
* |
|
* @author ruoyi |
|
*/ |
|
@Target(ElementType.METHOD) |
|
@Retention(RetentionPolicy.RUNTIME) |
|
@Documented |
|
public @interface RateLimiter |
|
{ |
|
/** |
|
* 限流key |
|
*/ |
|
public String key() default Constants.RATE_LIMIT_KEY; |
|
|
|
/** |
|
* 限流时间,单位秒 |
|
*/ |
|
public int time() default 60; |
|
|
|
/** |
|
* 限流次数 |
|
*/ |
|
public int count() default 100; |
|
|
|
/** |
|
* 限流类型 |
|
*/ |
|
public LimitType limitType() default LimitType.DEFAULT; |
|
}
|
|
|