java.lang.Object
org.miaixz.bus.vortex.filter.AbstractFilter
- All Implemented Interfaces:
Filter,org.springframework.web.server.WebFilter
- Direct Known Subclasses:
AuthorizeFilter,CipherFilter,FormatFilter,LimitFilter,PrimaryFilter
抽象过滤器基类,提供公共方法和模板方法模式 所有具体过滤器继承此类,实现 doFilterInternal 方法
- Since:
- Java 17+
- Author:
- Justubborn
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcheckParams(org.springframework.web.server.ServerWebExchange exchange) 校验请求参数,确保必要参数存在且有效protected abstract reactor.core.publisher.Mono<Void> doFilter(org.springframework.web.server.ServerWebExchange exchange, org.springframework.web.server.WebFilterChain chain, Context context) 内部过滤方法,由子类实现具体逻辑reactor.core.publisher.Mono<Void> filter(org.springframework.web.server.ServerWebExchange exchange, org.springframework.web.server.WebFilterChain chain) 过滤器主逻辑,获取上下文并调用子类的内部过滤方法protected Assets获取资产信息protected ContextgetContext(org.springframework.web.server.ServerWebExchange exchange) 获取请求上下文getRequestMap(Context context) 获取请求参数映射protected org.springframework.web.server.ServerWebExchangesetContentType(org.springframework.web.server.ServerWebExchange exchange) 设置默认 Content-Type(如果请求头缺失)
-
Constructor Details
-
AbstractFilter
public AbstractFilter()
-
-
Method Details
-
filter
public reactor.core.publisher.Mono<Void> filter(org.springframework.web.server.ServerWebExchange exchange, org.springframework.web.server.WebFilterChain chain) 过滤器主逻辑,获取上下文并调用子类的内部过滤方法- Specified by:
filterin interfaceorg.springframework.web.server.WebFilter- Parameters:
exchange- 当前的 ServerWebExchange 对象,包含请求和响应chain- 过滤器链,用于继续处理请求- Returns:
reactor.core.publisher.Mono<Void>表示异步处理完成
-
doFilter
protected abstract reactor.core.publisher.Mono<Void> doFilter(org.springframework.web.server.ServerWebExchange exchange, org.springframework.web.server.WebFilterChain chain, Context context) 内部过滤方法,由子类实现具体逻辑- Parameters:
exchange- 当前的 ServerWebExchange 对象chain- 过滤器链context- 请求上下文- Returns:
reactor.core.publisher.Mono<Void>表示异步处理完成
-
getContext
获取请求上下文- Parameters:
exchange- ServerWebExchange 对象- Returns:
- 请求上下文
-
getAssets
获取资产信息- Parameters:
context- 请求上下文- Returns:
- 资产信息
-
getRequestMap
获取请求参数映射- Parameters:
context- 请求上下文- Returns:
- 请求参数映射
-
setContentType
protected org.springframework.web.server.ServerWebExchange setContentType(org.springframework.web.server.ServerWebExchange exchange) 设置默认 Content-Type(如果请求头缺失)- Parameters:
exchange- ServerWebExchange 对象- Returns:
- 更新后的 ServerWebExchange
-
checkParams
protected void checkParams(org.springframework.web.server.ServerWebExchange exchange) 校验请求参数,确保必要参数存在且有效- Parameters:
exchange- ServerWebExchange 对象- Throws:
org.miaixz.bus.core.lang.exception.BusinessException- 如果参数无效或缺失,抛出异常
-