1. 环境说明
spring cloud gateway版本说明:Spring cloud gateway 版本2.1.5.RELEASE
服务注册发现构件:nacos
2. 配置和问题说明
routes配置文件配置的方式样例:
问题说明:
当访问接口URL以/api/product/开始时,路由会不时的指向ID为admin_route的路由,并非是上个路由product_route。这与我们的期望不一致,导致接口请求产生404错误。
所以这里我得出一个结论,靠route的书写顺写是不能确保路径匹配顺序的。
3. 解决方案
在route配置时,新增order配置项。
注意:order代表的优先级是从小往大排序的,即数值越小,优先级越高。
4. 过滤器Filter参考手册
| 类目 | 优先级 |
|---|---|
RemoveCachedBodyFilter |
HIGHEST_PRECEDENCE = Integer.MIN_VALUE |
AdaptCachedBodyGlobalFilter |
HIGHEST_PRECEDENCE = Integer.MIN_VALUE |
NettyWriteResponseFilter |
-1 |
ForwardPathFilter |
0 |
GatewayMetricsFilter |
0 |
RouteToRequestUrlFilter |
10000 |
| ``WeightCalculatorWebFilter | 10001 |
LoadBalancerClientFilter |
10100 |
WebsocketRoutingFilter |
LOWEST_PRECEDENCE -1 |
NettyRoutingFilter |
LOWEST_PRECEDENCE =Integer.MAX_VALUE |
ForwardRoutingFilter |
LOWEST_PRECEDENCE =Integer.MAX_VALUE |