spring cloud gateway 中碰到的坑-请求路径404问题

spring cloud 使用过程中碰到的坑,请求地址如下,请求category 项目显示菜单列表的接口,但是报404问题

http://localhost:9999/admin/categories?token=*******

原因:

gateway项目中配置问题,出现问题配置如下,两个项目admins,category ,分别对应如下配置

- id: admins_router
  uri: lb://API-ADMINS
  predicates:
    - Path=/admin/hello,/admin/**
  filters:
    - StripPrefix=1


- id: category_router
  uri: lb://API-CATEGORY
  predicates:
    - Path=/admin/categories/**
  filters:
    - StripPrefix=1
    - Token=true

上述配置admins_router 的Path 属性中的/admin/** 就是问题所在,因为配置中引入filters的StripPrefix=1,所以gateway网关会对请求地址进行移除一个路径/admin,最后相当于http://localhost:9999/categories?token=*******,这样请求就会打到admins 项目中,刚好路径/admin/**满足,但是admins 项目时没有categories 接口的,所以会报404错误。

改进方法:

1.修改配置/admin/**为/admin/tokens/**,避免网关请求接口在其他项目中也满足,但是又没实际的接口

2.admins_router和category_router位置换下也是一种方式,不建议。

总结:这个404问题花了一个晚上也没找到,还是有点粗心大意,加上gateway 也是跟视频学的,一些细节问题也不是特别清楚

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值