bladex新增业务服务,如何在gateway配置转发

Blade 未结 1 266
18049446013
18049446013 剑童 2024-04-09 19:17

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

1. bladex框架新增carbon-service-etp服务,后台carbon-service-etp已经启动ok

2. 通过nacos的blade-gateway.json文件来映射,blade-gateway.json映射内容

{

"id": "carbon-etp",

"order": 0,

"predicates": [{

"name": "Path",

"args": {

"pattern": "/carbon-etp/**"

}

}],

"filters": [],

"uri": "lb://carbon-service-etp"

},


3.通过接口访问http://127.0.0.1:8101/carbon-etp/aaa,接口报错

"msg":"Failed to handle request [GET http://127.0.0.1:8101/carbon-etp/aaa]: 404 NOT_FOUND","code":404,"data":null}


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

期待的结果:gateway转发/carbon-etp,到carbon-service-etp

实际看到的:1:gateway没有拦截到/carbon-etp,也没有打印/carbon-etp/aaa这个接口的请求

                     2:前台报404错误


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

产品:springcloud

版本:

<bladex.vision>3.4.0.RELEASE</bladex.vision>

操作系统:linux

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

没有任何报错信息,接口报404错误


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

1条回答
  • 2024-04-09 19:23

    bladex的gateway配置了自动转发,比如你注册到nacos的服务名为:carbon-service-etp,那么就可以直接通过 http://localhost/carbon-service-etp/xxx 来调用。


    如果需要额外自定义服务名,可以用如下配置操作:

    spring:
      cloud:
        gateway:
          # 网关路由配置
          routes: 
            # 路由id,自定义,只要唯一即可
            - id: carbon-service 
              # 路由的目标地址 http就是固定地址
              # uri: http://127.0.0.1:8081 
              # 路由的目标地址 lb就是负载均衡,后面跟服务名称
              uri: lb://carbon-service-etp 
              # 路由断言,也就是判断请求是否符合路由规则的条件
              predicates: 
                # 这个是按照路径匹配,只要以/carbon/开头就符合要求
                - Path=/carbon/**


    0 讨论(0)
提交回复