如何在Spring Cloud Gateway Path谓词配置中为所有路由定义通用前缀

时间:2019-11-11 12:32:19

标签: spring spring-cloud spring-cloud-gateway

我想为spring.cloud.gateway.routes配置属性中定义的所有路由指定一个公共前缀,而不是在其Path谓词中为每个路由重复该前缀。

当前,我具有以下运行正常的配置:

prefix: api

spring:
  cloud:
    gateway:
      routes:
      - id: route1
        uri: lb://service1
        predicates:
        - Path=/${prefix}/v0.2/endpoint1/**
        filters:
        - StripPrefix=1
      - id: route2
        uri: lb://service2
        predicates:
        - Path=/${prefix}/v1.0/endpoint2/**
        filters:
        - StripPrefix=1

如果需要更改前缀,则只需在一个地方更新配置。尽管如此,我还是希望删除每个端点的/${prefix}重复项以及StripPrefix对应部分。

最终,我的路线定义如下所示:

prefix: api

spring:
  cloud:
    gateway:
      routes:
      - id: route1
        uri: lb://service1
        predicates:
        - Path=/v0.2/endpoint1/**
      - id: route2
        uri: lb://service2
        predicates:
        - Path=/v1.0/endpoint2/**

0 个答案:

没有答案