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` 過濾器