1: 普通断言
routes:
- id: host_route
uri: https://www.baidu.com/
predicates:
- Path=/data/aa
当你搜索www.localhost:8025/data/aa时,会重定向到www.baidu.com/data/aa,结果404
如果加入filters
StripPrefix=1,会重定向到www.baidu.com/aa,结果404
StripPrefix=2,会重定向到www.baidu.com/,结果正确
2:通过RewritePath,官方介绍
配置
如果localhost:8025/api,会重定向到www.baidu.com/
但是localhost:8025/api/aa,会重定向到www.baidu.com/aa,导致404
所以要根据实际情况,首先判断你的目的接口是否存在,比如百度www.baidu.com/aa这种写法不存在,就需要更改规则
3: 如果要通过服务名称重定向,必须加入依赖
- id: petlove-shop_route
uri: lb://petlove-shop
predicates:
- Path=/product/**
filters:
- RewritePath=/product/?(?<segment>.*), /petlove-shop/$\{segment}
localhost:88/product/category/listWithTree ------》 localhost:8125/petlove-shop/category/listWithTree