Spring Cloud Gateway 找不到 Fluent Java Routes API

Posted

技术标签:

【中文标题】Spring Cloud Gateway 找不到 Fluent Java Routes API【英文标题】:Spring cloud gateway cannot find Fluent Java Routes API 【发布时间】:2018-08-09 15:09:24 【问题描述】:

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

@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.M7 并且我有 spring-cloud-starter-gateway 依赖。

有什么想法吗?

【问题讨论】:

【参考方案1】:

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

【讨论】:

固定在这里github.com/spring-cloud/spring-cloud-gateway/commit/… 很好。干杯。 这是一个示例过滤器

以上是关于Spring Cloud Gateway 找不到 Fluent Java Routes API的主要内容,如果未能解决你的问题,请参考以下文章

Spring Cloud Gateway - kotlin支持

Spring Cloud Gateway - kotlin支持

Spring Cloud Gateway - kotlin支持

sentinal spring-cloud-gateway adapter(1.6)异常错误之@EnableCircuitBreaker

Spring Cloud Gateway 雪崩了,我 TM 人傻了

Spring Cloud Gateway 没有链路信息,我 TM 人傻了(上)