cloud-gateway - 转发重写
场景
业务重构,将 user-service 服务一些请求的实现放在了 user-account 中,在不影响前端调用的情况下,使用cloud gateway 重写url的方式实现需求
yaml 形式
spring:
cloud:
gateway:
routes:
- id: user-account-adapter
uri: lb://user-account
predicates:
- Path=/user/uc/**
filters:
- RewritePath=/user/uc/(?<segment>.*), /account/user/uc/$\{segment}
json 形式
{
"uri": "lb://mic-yskj-spread-api",
"predicates": "[{\"args\":{\"pattern\":\"//user/uc/**\"},\"name\":\"Path\"}]",
"filters": "[{\"args\":{\"regexp\":\"/user/uc/(<segment>.*)\",
\"replacement\":\"//account/user/uc/${segment}\"},\"name\":\"RewritePath\"}]",
"serviceId": "user-account-adapter",
"order": 0 // order越小,优先匹配
}