All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.seepine.auth.annotation.RateLimit Maven / Gradle / Ivy

package com.seepine.auth.annotation;

import java.lang.annotation.*;

/**
 * 速率限制
 *
 * @author seepine
 * @since 2.0.0
 */
@Documented
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface RateLimit {
  /**
   * second的别名,值将会赋给second
   *
   * @return num
   */
  int value() default 20;
  /**
   * 一秒速率,默认一秒20次,优先级比value高,为负数时将会取value的值
   *
   * 

例如@RateLimit(4) ,second会是4 * *

例如@RateLimit(value=4,second=10) ,second会是10 * *

例如@RateLimit(second=30) ,second会是30 * * @return num */ int second() default -1; /** * 一分钟分速率 * * @return num */ int minute() default 0; /** * 一小时速率 * * @return num */ int hour() default 0; /** * 一天速率 * * @return num */ int day() default 0; /** * 是否全局共享,true的话则所有人的该接口请求共用计数 * * @return bool */ boolean global() default false; }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy