Package com.imyeyu.spring.annotation
Class RequestRateLimitAbstractInterceptor
java.lang.Object
com.imyeyu.spring.annotation.RequestRateLimitAbstractInterceptor
- All Implemented Interfaces:
org.springframework.web.servlet.HandlerInterceptor
public abstract class RequestRateLimitAbstractInterceptor
extends Object
implements org.springframework.web.servlet.HandlerInterceptor
抽象访问频率限制,具体子类实现
- Version:
- 2021-08-16 18:07
- Author:
- 夜雨
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract booleanbeforeRun(jakarta.servlet.http.HttpServletRequest req, jakarta.servlet.http.HttpServletResponse resp, String id, int cycle, int limit) 接口访问前触发protected StringbuildId(org.springframework.web.method.HandlerMethod handlerMethod) 构建接口标识booleanpreHandle(jakarta.servlet.http.HttpServletRequest req, jakarta.servlet.http.HttpServletResponse resp, Object handler) 处理前Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.web.servlet.HandlerInterceptor
afterCompletion, postHandle
-
Constructor Details
-
RequestRateLimitAbstractInterceptor
public RequestRateLimitAbstractInterceptor()
-
-
Method Details
-
buildId
构建接口标识- Parameters:
handlerMethod- 方法信息- Returns:
- 接口标识
-
preHandle
public boolean preHandle(@NonNull jakarta.servlet.http.HttpServletRequest req, @NonNull jakarta.servlet.http.HttpServletResponse resp, @NonNull Object handler) 处理前- Specified by:
preHandlein interfaceorg.springframework.web.servlet.HandlerInterceptor- Parameters:
req- 请求resp- 返回handler- 处理方法- Returns:
- true 为通过
-
beforeRun
public abstract boolean beforeRun(jakarta.servlet.http.HttpServletRequest req, jakarta.servlet.http.HttpServletResponse resp, String id, int cycle, int limit) 接口访问前触发- Parameters:
req- 请求resp- 返回id- 方法cycle- 生命周期limit- 访问限制- Returns:
- true 为通过
-