2过滤器 · SpringCloud微服务实战 · 看云

目前GatewayFilter工厂的内建实现如下:

ID 类名 类型 功能
StripPrefix StripPrefixGatewayFilterFactory pre 移除请求URL路径的第一部分,例如原始请求路径是/order/query,处理后是/query
SetStatus SetStatusGatewayFilterFactory post 设置请求响应的状态码,会从org.springframework.http.HttpStatus中解析
SetResponseHeader SetResponseHeaderGatewayFilterFactory post 设置(添加)请求响应的响应头
SetRequestHeader SetRequestHeaderGatewayFilterFactory pre 设置(添加)请求头
SetPath SetPathGatewayFilterFactory pre 设置(覆盖)请求路径
SecureHeader SecureHeadersGatewayFilterFactory pre 设置安全相关的请求头,见SecureHeadersProperties
SaveSession SaveSessionGatewayFilterFactory pre 保存WebSession
RewriteResponseHeader RewriteResponseHeaderGatewayFilterFactory post 重新响应头
RewritePath RewritePathGatewayFilterFactory pre 重写请求路径
Retry RetryGatewayFilterFactory pre 基于条件对请求进行重试
RequestSize RequestSizeGatewayFilterFactory pre 限制请求的大小,单位是byte,超过设定值返回413 Payload Too Large
RequestRateLimiter RequestRateLimiterGatewayFilterFactory pre 限流
RequestHeaderToRequestUri RequestHeaderToRequestUriGatewayFilterFactory pre 通过请求头的值改变请求URL
RemoveResponseHeader RemoveResponseHeaderGatewayFilterFactory post 移除配置的响应头
RemoveRequestHeader RemoveRequestHeaderGatewayFilterFactory pre 移除配置的请求头
RedirectTo RedirectToGatewayFilterFactory pre 重定向,需要指定HTTP状态码和重定向URL
PreserveHostHeader PreserveHostHeaderGatewayFilterFactory pre 设置请求携带的属性preserveHostHeader为true
PrefixPath PrefixPathGatewayFilterFactory pre 请求路径添加前置路径
Hystrix HystrixGatewayFilterFactory pre 整合Hystrix
FallbackHeaders FallbackHeadersGatewayFilterFactory pre Hystrix执行如果命中降级逻辑允许通过请求头携带异常明细信息
AddResponseHeader AddResponseHeaderGatewayFilterFactory post 添加响应头
AddRequestParameter AddRequestParameterGatewayFilterFactory pre 添加请求参数,仅仅限于URL的Query参数
AddRequestHeader AddRequestHeaderGatewayFilterFactory pre 添加请求头

这个filter的执行顺序和配置定义的顺序是有关系的