问题描述
我在springboot应用程序中有如下application.yaml
spring:
cloud:
gateway:
routes:
- id: pgService
uri: http://localhost:2005/
predicates:
- Path=/employee/**
- id: inMateService
uri: http://localhost:2006/
predicates:
- Path=/consumer/**
以上声明的变量是针对Spring Cloud Gateway的
我想在application.properties文件中声明这些相同的变量。 我不想使用Yaml文件。请帮助我实现这一目标 谢谢
解决方法
只需更新ans。
应该类似于这种格式:
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