13.7、过滤器使用
分类: Gateway API网关
过滤器使用
过滤器用于修改请求和响应。本节将学习过滤器的使用。
本节将学习:全局过滤器、路由过滤器、请求过滤器、响应过滤器,以及自定义过滤器。
全局过滤器
配置示例
spring: cloud: gateway: default-filters: - AddRequestHeader=X-Request-Id, ${random.uuid}
路由过滤器
配置示例
filters: - StripPrefix=1 - AddRequestHeader=X-User-Id, 123
请求过滤器
过滤器类型
请求过滤器:
- AddRequestHeader
- AddRequestParameter
- RemoveRequestHeader
响应过滤器
过滤器类型
响应过滤器:
- AddResponseHeader
- RemoveResponseHeader
- RewriteResponseHeader
自定义过滤器
实现方式
@Component public class CustomFilter implements GlobalFilter, Ordered { @Override public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) { // 自定义逻辑 return chain.filter(exchange); } @Override public int getOrder() { return -1; } }
官方资源
- Spring Cloud Gateway 过滤器:https://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/#gatewayfilter-factories
本节小结
在本节中,我们学习了:
第一个是全局过滤器。 应用于所有路由的过滤器。
第二个是路由过滤器。 应用于特定路由的过滤器。
第三个是请求过滤器。 修改请求的过滤器。
第四个是响应过滤器。 修改响应的过滤器。
第五个是自定义过滤器。 如何实现自定义过滤器。
这就是过滤器使用。合理使用过滤器,可以实现丰富的网关功能。
在下一节,我们将学习跨域配置。