工作原理
以下图表提供了 Spring Cloud Gateway 工作原理的高级概述:
在 Spring Cloud Gateway Server MVC 中,路由是普通的 WebMvc.fn RouterFunction
实例,带有一个特殊的 HandlerFunction,用于通过 HTTP 转发请求,该功能定义在 org.springframework.cloud.gateway.server.mvc.handler.HandlerFunctions 中。有关功能 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 上定义的任何路径都将被忽略。