gpt4 book ai didi

Spring Cloud Gateway API - 路由上的上下文路径不起作用

转载 作者:行者123 更新时间:2023-12-04 13:02:59 24 4
gpt4 key购买 nike

我在 application.yml 中设置了上下文路径

server:
port: 4177
max-http-header-size: 65536
tomcat.accesslog:
enabled: true
servlet:
context-path: /gb-integration

我已经配置了一些路由
@Bean
public RouteLocator routeLocator(RouteLocatorBuilder builder) {
final String sbl = "http://localhost:4178";

return builder.routes()
//gb-sbl-rest
.route("sbl", r -> r
.path("/sbl/**")
.filters(f -> f.rewritePath("/sbl/(?<segment>.*)", "/gb-sbl/${segment}"))
.uri(sbl)).build();
}

我希望使用 localhost:4177/gb-integration/sbl/** 访问 API 网关
但是它只适用于 localhost:4177/sbl/**

似乎我的上下文路径被忽略了。
任何想法如何让我的上下文路径在我的所有路线上工作?

最佳答案

您可能已经自己弄清楚了,但以下是对我有用的方法:

在阅读了 Spring Cloud 文档并自己尝试了很多东西后,我最终选择了按路由配置的路由。在您的情况下,它看起来像这样:

.path("/gb-integration/sbl/**")

并为每条路线重复相同的模式。
.path("/gb-integration/abc/**")
...
.path("/gb-integration/def/**")

您实际上可以在 spring cloud documentation 中看到这一点.

spring cloud 文档似乎正在进行中。希望我们能找到更好的解决方案。

关于Spring Cloud Gateway API - 路由上的上下文路径不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50325674/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com