GateWay路由转发

GateWay项目配置

RewritePathGatewayFilterFactory

yml配置filters(RewritePath)

server:
  port: 8084
spring:
  cloud:
    gateway:
      discovery:
        locator:
          #是否与服务发现组件进行结合,通过serviceId转发到具体实例
          #是否开启基于服务发现的路由规则
          enabled: true
          ##表示将请求路径的服务名配置改成小写 ,因为服务注册的时候,向注册中心注册时将服务名转成大写的了
          lowerCaseServiceId: true
          filters:
            - StripPrefix=0
      routes:
        - id: cloud-payment-service # 路由定义的命名,唯一即可。命名规则符合java中的变量命名规则
          uri: lb://bit-msa-pasm-api # 请求转发到uri定义的地址,当前路由定义对应的微服务转发地址,lb 代表loadbalance负载均衡
#          # 谓词,命名是有套路的,是GatewayPredicate接口的命名前缀:xxxRoutePredicateFactory
          predicates:
             #定义一个谓词,格式:谓词名称=参数 或者 name:谓词名称args
            - Path=/bit-msa-pasm/service/v1/**
          filters:
            - RewritePath=/bit-msa-pasm/service/v1/?(?<segment>.*),/bit-msa-pasm-api/service/old/$\{segment}
#           - RewritePath=/bit-msa-pasm/service/v1,/bit-msa-pasm-api/service/old

在这里插入图片描述

bit-msa-pasm-api项目配置

yml

在这里插入图片描述

controller

在这里插入图片描述

测试

直接通过网关访问bit-msa-pasm-api

在这里插入图片描述
返回值正确,接口通。

通过网关进行路由转发

在这里插入图片描述
返回值一样,接口通。

新增一个项目

yml配置

在这里插入图片描述

controller

在这里插入图片描述

测试

不通过网关直接访问

在这里插入图片描述
返回值正确,接口通。

通过网关直接访问,看是否会路由到bit-msa-pasm-api

在这里插入图片描述
返回值仍是8001,说明 RewritePath路由转发未生效。

结论

配置路由转发的源地址
1:如果源地址能访问通,那么就还访问源地址,不会进行路由转发
2:如果源地址能访问不通,才会进行路由转发,转发到新地址
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值