spring - Spring Cloud Gateway RouteLocator Java 代码无法获取特定路由 id
问题描述
我尝试使用 Java 代码在 Spring Cloud Gateway 中自定义 RouteLocator。我可以看到在端点 /actuator/gateway/routes 中注册的所有路由列表,但是当我试图获取给定 id 中的特定路由时,它是 404 /actuator/gateway/routes/auth-server。
这就是我试图调用 /actuator/gateway/routes
[
{
"route_id": "auth-server",
"route_object": {
"predicate": "org.springframework.cloud.gateway.support.ServerWebExchangeUtils$$Lambda$264/896945135@4e9d7b14"
},
"order": 0
},
{
"route_id": "song",
"route_object": {
"predicate": "org.springframework.cloud.gateway.support.ServerWebExchangeUtils$$Lambda$264/896945135@7d49ff95"
},
"order": 0
}
]
具有特定路由 /actuator/gateway/routes/auth-server 的那个
http://localhost:8080/actuator/gateway/routes/auth-server
我得到了结果状态码 404 not found。
这是java自定义路由配置:
@Configuration
public class RouteConfiguration {
@Bean
RouteLocator customRouteLocator(RouteLocatorBuilder routeLocatorBuilder) {
return routeLocatorBuilder.routes()
.route("auth-server", predicateSpec -> predicateSpec.path("/uaa/**").uri("lb://auth-service"))
.route("song", predicateSpec -> predicateSpec.path("/song/**").uri("lb/song-service"))
.build();
}
}
它应该与 auth-server 路由一起给出。
解决方案
@soyphea 这是一个已知问题,但我在 GitHub 上找不到票。您能否为此创建一个错误报告以确保:https ://github.com/spring-cloud/spring-cloud-gateway/issues/new ?谢谢你的好问题!
推荐阅读
- php - 如何在全球范围内强制 Laravel 只发送纯文本电子邮件?
- android - android应用程序中的参数化字符串问题
- javascript - 外部 HTML 文件上的 jQuery
- arrays - 通过右移数组的任意三个元素对数组进行排序
- python - 使用 python、numpy 和 matplot 显示 mnist 数字
- swift - 如何使用 NavigationLink SwiftUI 进行深度链接?
- .net - Azure 市场 SaaS API 客户端
- spring-boot - 无法从线程上下文、当前或系统/应用程序加载名为 [io.jsonwebtoken.io.JacksonSerializer] 的类
- python - Seaborn 子图
- node.js - 启动新会话会导致错误 - 将标头发送到客户端后无法设置标头