目录
前言
Route(路由)是Spring Cloud Gateway的基础元素,就是一个转发规则,其包含ID、目标URL、Predicate集合以及Filter集合
环境
Spring Cloud Hoxton.SR9 + Spring Cloud Alibaba 2.2.6.RELEASE
路由配置示例
- 如果访问gateway的/baidu这个路径就会进入该路由,会用AddRequestHeader这个过滤器去处理,再将请求转发到http://www.baidu.com
spring:
cloud:
gateway:
routes:
- id: some_route
uri: http://www.baidu.com
predicates:
- Path=/baidu
filters:
- AddRequestHeader=X-Request-Foo, Bar
路由配置的两种形式
路由到指定URL
通配
- 访问GATEWAY_URL
@Component
public class TimeBetweenRoutePredicateFactory extends AbstractRoutePredicateFactory {
public TimeBetweenRoutePredicateFactory() {
super(TimeBetweenConfig.class);
}
@Override
public Predicate apply(TimeBetweenConfig config) {
LocalTime start = config.getStart();
LocalTime end = config.getEnd();
return exchange -> {
LocalTime now = LocalTime.now();
return now.isAfter(start) && now.isBefore(end);
};
}
@Override
public List shortcutFieldOrder() {
return Arrays.asList("start", "end");
}
}
测试
- End -
﹀
﹀
﹀
白嫖有风险
点赞加收藏