相关疑难解决方法(0)

Spring Cloud Gateway 不适用于 DiscoveryClientRouteDefinitionLocator

当我使用这样的路由统计时,我正在使用 Spring cloud gateway(它工作正常):

@Bean
RouteLocator routeLocator(RouteLocatorBuilder builder) {
    return builder.routes()
            .route((r) -> r.path("/customers/**").uri("http://localhost:8081/"))
            .route((r) -> r.path("/products/**").uri("http://localhost:8082/"))
            .build();
}
Run Code Online (Sandbox Code Playgroud)

但是当我想使用带有 DiscoveryClientRouteDefinitionLocator 的动态路由时,我的功能不起作用:

@Bean
DiscoveryClientRouteDefinitionLocator definitionLocator(
        ReactiveDiscoveryClient rdc,
        DiscoveryLocatorProperties properties) {
    return new DiscoveryClientRouteDefinitionLocator(rdc, properties);
}
Run Code Online (Sandbox Code Playgroud)

这是我的 application.properties :

server.port=8888
spring.application.name=gateway-service
spring.cloud.discovery.enabled=true
Run Code Online (Sandbox Code Playgroud)

当我调用这个 uri http://localhost:8888/PRODUCT-SERVICE/products 我得到:

 Whitelabel Error Page
This application has no configured error view, so you are seeing this as a fallback.

Tue Dec 22 00:42:19 WEST 2020
[97127699-3] There was an unexpected error (type=Internal Server Error, status=500).
Run Code Online (Sandbox Code Playgroud)

控制台中生成的异常: …

java eclipse-jee spring-cloud-gateway

1
推荐指数
1
解决办法
3179
查看次数

标签 统计

eclipse-jee ×1

java ×1

spring-cloud-gateway ×1