0%

spring-gateway

Spring Cloud Gateway基于Spring webflux

Route Predicate Factories

默认情况下,RoutePredicateFactory的实现通过org.springframework.cloud.gateway.config.GatewayAutoConfiguration
被注入到运行环境中。

RoutePredicateFactory - 创建Predicate

RoutePredicateFactory是所有Predicated factory的基类,提供一个default的方法name(),
通过改方法用于区分获取需要的RoutePredicateFactory

1
2
3
4
5
6
7
8
9
10
@FunctionalInterface
public interface RoutePredicateFactory<C> extends ShortcutConfigurable, Configurable<C> {

//...

default String name() {
return NameUtils.normalizeRoutePredicateName(getClass());
}

}

Route RouteLocator

核心初始化组件RouteDefinitionRouteLocator,它是RouteLocator的一个子类, 用于创建需要的
Predicate, Filter,并将它们与uri关联,创建一个可用的Route。Route通过静态内部类builder创建

RouteDefinitionLocator