其他分享
首页 > 其他分享> > BES-SpringCloud Gateway网关整合多模块项目(1)-Predicates

BES-SpringCloud Gateway网关整合多模块项目(1)-Predicates

作者:互联网

开发过程中使用了Spring Cloud Gateway来进行对各个服务的请求转发。

spring:
  application:
    name: boss-bes-gateway
  redis:
    host: localhost
    password: test123
    port: 6379
  main:
    allow-bean-definition-overriding: true
  cloud:
    gateway:
      discovery:
        locator:
          enabled: true
      routes:
#        用户与权限管理
        - id: boss-bes-user-permission-center
          uri: http://localhost:10015/
          predicates:
          - Path=/boss-bes-user-permission-center/api/**
          filters:
          - StripPrefix=1
          - name: Retry
            args:
              retries: 3
              statuses: BAD_GATEWAY
          - name: Hystrix
            args:
              name: fallbackcmd
              fallbackUri: forward:/fallback

以该yml中用户权限管理为例:

在没有用网关进行转发之前,请求的地址形式:

localhost:10015/api/**

设置网关以后的请求的地址形式

localhost:10003/boss-bes-user-permission-center/api/**

指定了uri(localhost:10015,要指向的地址)

对predicates指定了path(网关表现的地址)

filter配置StripPrefix=1的意思:把path的前1个路径截掉(/boss-bes-user-permission-center):

处理过后

前段发送以下请求:

localhost:10003/boss-bes-user-permission-center/api/**

网关:

1. 接收到/boss-bes-user-permission-center/api/**

2. 根据StripPrefix=1,截掉/boss-bes-user-permission-center,剩下api/**

3. 拼上uri=localhost:10015,得到localhost:10015/api/**,发送到后端。

标签:网关,permission,SpringCloud,boss,api,user,Predicates,bes,localhost
来源: https://blog.csdn.net/qq_37908348/article/details/100036541