首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >springcloud网关属性文件声明变量

springcloud网关属性文件声明变量
EN

Stack Overflow用户
提问于 2020-11-04 15:08:45
回答 3查看 3.6K关注 0票数 2

我在springboot应用程序中有application.yaml,如下所示

代码语言:javascript
复制
spring:
  cloud:
    gateway:
      routes:
      - id: pgService
        uri: http://localhost:2005/
        predicates:
        - Path=/employee/**
      - id: inMateService
        uri: http://localhost:2006/
        predicates:
        - Path=/consumer/**

上面声明的变量是与spring云网关相关的

我想在application.properties文件中声明这些相同的变量。我不想使用yaml文件。请帮我实现这一点谢谢

EN

回答 3

Stack Overflow用户

发布于 2021-09-11 07:19:09

您可以在application.properties文件中按如下方式定义变量:

代码语言:javascript
复制
spring.cloud.gateway.routes[0].id=pgService
spring.cloud.gateway.routes[0].uri=http://localhost:2005/
spring.cloud.gateway.routes[0].predicates[0]=Path=/employee/**
spring.cloud.gateway.routes[1].id=inMateService
spring.cloud.gateway.routes[1].uri=http://localhost:2006/
spring.cloud.gateway.routes[1].predicates[0]=Path=/consumer/**
票数 3
EN

Stack Overflow用户

发布于 2020-11-04 15:23:51

刚刚更新了ans。

它应该类似于下面的格式:

代码语言:javascript
复制
spring.cloud.gateway.discovery.locator.predicates[0].name: Path
spring.cloud.gateway.discovery.locator.predicates[0].args[pattern]: "'/'+serviceId+'/**'"
spring.cloud.gateway.discovery.locator.predicates[1].name: Host
spring.cloud.gateway.discovery.locator.predicates[1].args[pattern]: "'**.foo.com'"
spring.cloud.gateway.discovery.locator.filters[0].name: Hystrix
spring.cloud.gateway.discovery.locator.filters[0].args[name]: serviceId
spring.cloud.gateway.discovery.locator.filters[1].name: RewritePath
spring.cloud.gateway.discovery.locator.filters[1].args[regexp]: "'/' + serviceId + '/(?<remaining>.*)'"
spring.cloud.gateway.discovery.locator.filters[1].args[replacement]: "'/${remaining}'"

参考https://cloud.spring.io/spring-cloud-gateway/multi/multi__configuration.html

如果你使用的是intelliJ,下面的插件对在.yaml和.properties之间转换格式很有帮助:https://plugins.jetbrains.com/plugin/13804-convert-yaml-and-properties-file

票数 2
EN

Stack Overflow用户

发布于 2021-09-18 14:58:20

这对我很管用

代码语言:javascript
复制
spring.cloud.gateway.routes[0].id=USER-SERVICE
spring.cloud.gateway.routes[0].uri=lb://USER-SERVICE
spring.cloud.gateway.routes[0].predicates[0].name=Path
spring.cloud.gateway.routes[0].predicates[0].args[pattern]=/user/**

spring.cloud.gateway.routes[1].id=USER-SERVICE
spring.cloud.gateway.routes[1].uri=lb://USER-SERVICE
spring.cloud.gateway.routes[1].predicates[0].name=Path
spring.cloud.gateway.routes[1].predicates[0].args[pattern]=/department/**
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64675523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档