我已经开发了spring cloud gateway,我想通过os环境变量来管理spring cloud gateway配置值,但是spring cloud gateway配置值包含数组值,我不确定如何像数组示例那样导出os环境变量
spring:
cloud:
gateway:
globalcors:
corsConfigurations:
'[/**]':
allowedOrigins:
- "https://example1.com/"
- "https://example2.com/"
routes:
- id: ex1
uri: http://ex1.com/
- id: ex2
uri: http://ex2.com/如何导出os环境变量?
发布于 2021-11-18 07:13:29
可以使用环境变量通过标准Spring属性将其设置为环境变量pattern (全部大写,下划线)。不过,我建议您结合使用application.properties文件(或bootstrap.yml)和Spring profile特性来管理更复杂的配置。参考:https://docs.spring.io/spring-boot/docs/2.5.6/reference/htmlsingle/#features.external-config.files.profile-specific
然后使用SPRING_PROFILES_ACTIVE设置您希望应用程序在运行时使用的配置文件。环境变量并不是真的适用于所有属性,大多数情况下最适合简单的key=value对。属性文件和配置文件最适合更复杂的设置。将两种方法混合使用以获得最佳结果。
为了充实我的回答,这里是您的env var应该是什么样子:
SPRING_CLOUD_GATEWAY_GLOBALCORS_CORSCONFIGURATIONS='[/**]'
SPRING_CLOUD_GATEWAY_GLOBALCORS_CORSCONFIGURATIONS_ALLOWEDORIGINS="https://example1.com/"
SPRING_CLOUD_GATEWAY_GLOBALCORS_CORSCONFIGURATIONS_ALLOWEDORIGINS="https://example2.com/"或者有可能:
SPRING_CLOUD_GATEWAY_GLOBALCORS_CORSCONFIGURATIONS='[/**]'
SPRING_CLOUD_GATEWAY_GLOBALCORS_CORSCONFIGURATIONS_ALLOWEDORIGINS="https://example1.com/, https://example2.com/"我不确定多个值是用逗号还是空格分隔的。
https://stackoverflow.com/questions/70014346
复制相似问题