Spring Cloud Gateway Spring Cloud Gateway 服务器 Web MVC 网关处理器过滤器函数 网关处理器过滤器函数 前置过滤器函数 WebMvc.fn API 具有“前置”过滤器函数的概念,这是一个 `java.util.Function`,只作用于请求。许多前置过滤器函数在 `org.springframework.cloud.gateway.server.mvc.filter.BeforeFilterFunctions` 中以静态工厂方法的形式被引用。它们被适配到 `org.springframework.cloud.gateway.server.mvc.filter.FilterFunctions` 中的通用 `org.springframework.web.servlet.function.HandlerFilterFunction`。两者都可以使用,但如果可能,更具体的 `BeforeFilterFunctions` 更受青睐,因为它更明确。 后置过滤器函数 WebMvc.fn API 具有“后置”过滤器函数的概念,这是一个 `java.util.BiFunction`,可以修改响应。许多后置过滤器函数在 `org.springframework.cloud.gateway.server.mvc.filter.AfterFilterFunctions` 中以静态工厂方法的形式被引用。它们被适配到 `org.springframework.cloud.gateway.server.mvc.filter.FilterFunctions` 中的通用 `org.springframework.web.servlet.function.HandlerFilterFunction`。两者都可以使用,但如果可能,更具体的 `AfterFilterFunctions` 更受青睐,因为它更明确。 高级过滤器函数 有些过滤器无法归类为简单的前置或后置过滤器。这些过滤器在代理请求发出之前和之后都会工作。其中一些过滤器包括位于 `BodyFilterFunctions`、`Bucket4jFilterFunctions`、`CircuitBreakerFilterFunctions`、`LoadBalancerFilterFunctions`、`RetryFilterFunctions` 和 `TokenRelayFilterFunctions` 中的过滤器,所有这些都位于 `org.springframework.cloud.gateway.server.mvc.filter` 包中。 网关请求谓词 `AddRequestHeader` 过滤器