iam使用带有eureka服务器的spring引导网关,但当我试图从网关访问某个api时,它不采用网关路由的路径,而是采用服务名称
@Configuration
public class SpringCloudConfig {
@Bean
public RouteLocator gatewayRoutes(RouteLocatorBuilder builder) {
return builder.routes()
// .route("book", r -> r.path("/book/**").uri("lb://BOOKS"))
.route("bookstore", r -> r.path("/booksstore/**").uri("lb://BOOKSTORE"))
.route("book",
r -> r.path("/book/**")
.uri("lb://BOOKS"))
.build();
}
}
不工作
但是如果我替换";书;用";书籍";(服务名称(它将工作
根据您的配置,api gateway by URI"lb://BOOKS";从尤里卡服务器获取到您的服务的路径";http://х;,并且您的服务似乎有一个端点"/书籍";,而不是"/书";。
因此,您需要将远程服务中的端点更改为"/书";。