運作方式
下圖提供 Spring Cloud Gateway 如何運作的高階概觀

在 Spring Cloud Gateway Server MVC 中,路由是正常的 WebMvc.fn RouterFunction
實例,具有特殊的 HandlerFunction,用於透過 HTTP 轉發請求,定義於 org.springframework.cloud.gateway.server.mvc.handler.HandlerFunctions。 關於 functional API 的常規使用,請參閱 WebMvc.fn 文件。
除了用於 HTTP 轉發的自訂 HandlerFunctions
之外,Spring Cloud Gateway Server MVC 還在 org.springframework.cloud.gateway.server.mvc.predicate.GatewayRequestPredicates 中提供了額外的 RequestPredicate
實作,並在 org.springframework.cloud.gateway.server.mvc.filter.FilterFunctions 中提供了 HandlerFilterFunctions
實作。 所有可以作為純粹「前置」過濾器的自訂過濾器都在 org.springframework.cloud.gateway.server.mvc.filter.BeforeFilterFunctions 中實作,並在 FilterFunctions
中作為請求處理器進行調整。 org.springframework.cloud.gateway.server.mvc.filter.AfterFilterFunctions 中的自訂「後置」過濾器也在 FilterFunctions
中作為回應處理器進行調整。
還有額外的 *FilterFunctions
類別用於可選的過濾器,這些過濾器將與每個過濾器一起記錄。
在路由 URI 上定義的任何路徑都將被忽略。 |