Spring云网关无法找到Fluent Java Routes API

时间:2018-03-01 14:13:50

标签: spring-boot spring-cloud spring-cloud-gateway

我正在尝试使用Spring-cloud-gateway。在浏览documentation时,我发现我们不仅可以在yml / properties文件中配置路由,还可以使用Fluent Routes API。这是文档中的代码段。

@Bean
public RouteLocator customRouteLocator(ThrottleGatewayFilterFactory throttle) {
    return Routes.locator()
            .route("test")
                .predicate(host("**.abc.org").and(path("/image/png")))
                .addResponseHeader("X-TestHeader", "foobar")
                .uri("http://httpbin.org:80")
            .route("test2")
                .predicate(path("/image/webp"))
                .add(addResponseHeader("X-AnotherHeader", "baz"))
                .uri("http://httpbin.org:80")
            .route("test3")
                .order(-1)
                .predicate(host("**.throttle.org").and(path("/get")))
                .add(throttle.apply(tuple().of("capacity", 1,
                     "refillTokens", 1,
                     "refillPeriod", 10,
                     "refillUnit", "SECONDS")))
                .uri("http://httpbin.org:80")
            .build();
}

但是我无法找到这个班级Routes。不确定如果我错过了什么。我正在使用spring boot 2.0.0.M 7并且我已经包含了spring-cloud-starter-gateway依赖。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

Routes已不再可用。将RouteLocatorBuilder参数添加到customRouteLocator。我会修复文档。