- All Known Implementing Classes:
AbstractHandler,AccessHandler
public interface Handler
异步拦截器接口,定义请求处理的三个阶段
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Method Summary
Modifier and TypeMethodDescriptiondefault reactor.core.publisher.Mono<Void> afterCompletion(org.springframework.web.server.ServerWebExchange exchange, Object service, Object args, Object result, Throwable exception) 异步完成处理方法,在请求完成后执行(无论成功或失败)default intgetOrder()获取处理器顺序default reactor.core.publisher.Mono<Void> postHandle(org.springframework.web.server.ServerWebExchange exchange, Object service, Object args, Object result) 异步后处理方法,在请求处理后执行default reactor.core.publisher.Mono<Boolean> 异步预处理方法,在请求处理前执行
-
Method Details
-
getOrder
default int getOrder()获取处理器顺序- Returns:
- 顺序值,越小越先执行
-
preHandle
default reactor.core.publisher.Mono<Boolean> preHandle(org.springframework.web.server.ServerWebExchange exchange, Object service, Object args) 异步预处理方法,在请求处理前执行- Parameters:
exchange- 当前 ServerWebExchange 对象service- 服务实例(通常为策略对象)args- 方法参数,可为 null- Returns:
Mono<Boolean>返回 true 表示验证通过,false 表示验证失败
-
postHandle
default reactor.core.publisher.Mono<Void> postHandle(org.springframework.web.server.ServerWebExchange exchange, Object service, Object args, Object result) 异步后处理方法,在请求处理后执行- Parameters:
exchange- 当前 ServerWebExchange 对象service- 服务实例args- 方法参数,可为 nullresult- 接口方法返回的结果- Returns:
Mono<Void>表示异步处理完成
-
afterCompletion
default reactor.core.publisher.Mono<Void> afterCompletion(org.springframework.web.server.ServerWebExchange exchange, Object service, Object args, Object result, Throwable exception) 异步完成处理方法,在请求完成后执行(无论成功或失败)- Parameters:
exchange- 当前 ServerWebExchange 对象service- 服务实例args- 方法参数,可为 nullresult- 最终响应结果,可为 nullexception- 异常对象(若有),可为 null- Returns:
Mono<Void>表示异步处理完成
-