工作原理
以下图表概述了 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 上定义的任何路径都将被忽略。 |