工作原理
以下圖表概述了 Spring Cloud Gateway 的工作原理
在 Spring Cloud Gateway Server MVC 中,路由是正常的 WebMvc.fn RouterFunction 例項,帶有一個特殊的 HandlerFunction,用於轉發 org.springframework.cloud.gateway.server.mvc.handler.HandlerFunctions 中定義的 HTTP 請求。有關功能 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 上定義的任何路徑都將被忽略。 |