gateWay请求转发异常,接口地址404异常

Blade 未结 3 570
lantian5735
lantian5735 2023-09-05 17:45

一、该问题的重现步骤是什么?

1. 聚合文档进行接口请求

2. 接口404


二、你期待的结果是什么?实际看到的又是什么?

期望调用接口,返回数据


实际返回接口404

111111.png


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

BladeX

2.8.0版本


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

服务名:activity

接口地址:activity/xxx


gateway中重写接口地址时,/activity/activity/接口名   重写为了   /activity/接口名 ,这一步正确

22222.png


接口请求到activity服务时,提示了 404

33333333.png


怀疑 服务名activity和接口前缀的activity被重复替掉了,但是无法找到具体代码及问题。麻烦解答下


3条回答
  •  admin
    admin (楼主)
    2023-09-06 10:08

    这个功能的逻辑是会把注册在nacos的服务名称给替换为空,如果后续api和服务名重名,则会被一起替换掉。

    如果服务名为 activity 则会对整个url替换掉activity的关键词,所以把服务名独立起来加一个前缀或者后缀让后续不重复就行。

    作者追问:2023-09-06 10:08

    源码在哪里可以修改了,目前接口已经在生产环境,无法替换。

    回答: 2023-09-06 10:08

    修改红框部分 ,只截取第一个作为服务名的参数image.png

    作者追问:2023-09-06 10:08

    newPath截取的本来就是对的。只是实际跳转时感觉又截取了,这部分源码没有找到

提交回复