Class IdempotencyInterceptor
java.lang.Object
com.bytedesk.core.config.idempotency.IdempotencyInterceptor
- All Implemented Interfaces:
org.springframework.web.servlet.HandlerInterceptor
@Component
public class IdempotencyInterceptor
extends Object
implements org.springframework.web.servlet.HandlerInterceptor
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AuthServiceprivate final org.springframework.data.redis.core.StringRedisTemplate -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidafterCompletion(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Object handler, Exception ex) private Stringprivate StringbooleanpreHandle(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Object handler) private IdempotentresolveAnnotation(Object handler) private StringresolveClientKey(jakarta.servlet.http.HttpServletRequest request) private UserEntityprivate Stringprivate StringwaitForCached(String redisKey, int loops, long sleepMs) private voidMethods 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
postHandle
-
Field Details
-
stringRedisTemplate
private final org.springframework.data.redis.core.StringRedisTemplate stringRedisTemplate -
authService
-
-
Constructor Details
-
IdempotencyInterceptor
public IdempotencyInterceptor()
-
-
Method Details
-
preHandle
public boolean preHandle(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Object handler) throws Exception - Specified by:
preHandlein interfaceorg.springframework.web.servlet.HandlerInterceptor- Throws:
Exception
-
afterCompletion
public void afterCompletion(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Object handler, Exception ex) - Specified by:
afterCompletionin interfaceorg.springframework.web.servlet.HandlerInterceptor
-
resolveAnnotation
-
resolveClientKey
-
safeGetUser
-
buildRedisKey
-
sha256Hex
-
nullToEmpty
-
waitForCached
-
writeJson
private void writeJson(jakarta.servlet.http.HttpServletResponse response, int status, String json) throws IOException - Throws:
IOException
-