我正在开发一个spring引导应用程序,并在该应用程序中指定了以下属性。yml文件:
server:
port: 8000
spring:
application:
name: "ai-gy"
这将把当前应用程序注册为"ai-gy"在领事。我想为这个应用程序实现以下内容:
添加路由"/tran"并将其发送到"po-ms"。路由的前缀应该是"ai">
"po-ms"已在consul上注册的另一个项目的名称。
我不确定当前应用程序中有什么属性更改。或者我必须编写一些spring代码或在consul
中做一些事情。我确实在一些地方看到了以下配置:
spring:
cloud:
gateway:
routes:
但是我不完全确定在哪里指定/tran po-ms和前缀ai
意图是对HTTP://localhost:8000/ai/tran/1001的调用应该路由到HTTP://localhost:2222/tran/1001
po-ms服务在端口2222上运行
您可以使用yaml config来完成此操作。
配置如下:
spring:
cloud:
gateway:
routes:
- id: tran-route
uri: http://localhost:2222
predicates:
- Path=/ai/**
filters:
- RewritePath=/ai(?<segment>/?.*), /${segment}
RewritePath
在向下游服务转发请求时重写URL以删除/ai
路径