簡體   English   中英

application.yaml 文件設置字段,帶 OR 條件(提供默認值)

[英]application.yaml file setting field with OR condition (Providing default value)

有一個 Java SpringBoot 應用程序,帶有一個 application.yaml 文件,其中配置了所有屬性。 一些字段配置為從 deployment.yaml 文件中讀取,因為我們使用不同的環境,並且這些字段的值會發生變化。 但是,我不想定義一個字段來考慮 deployment.yaml 文件中的值(如果存在),否則它應該采用給定的默認值。

像這樣的東西:

root:
  some-sub-level:
    some-key: ${VALUE_FROM_DEPLOYMENT_YAML:${default.level.value}}

default:
  level:
    value: some-default-value

我嘗試了幾種方法,但都沒有成功。 它采用空白值,因為 VALUE_FROM_DEPLOYMENT_YAML 在一個特定環境中將是 null。

PS:我知道在 Java 代碼中添加默認值,例如@Value("${value.from.application.yaml:"some default value"} ,但我對此不感興趣。要求不是在 Java 代碼中閱讀此內容,但它將是 Azure Application Insight 的配置。

誰能幫我我在這里想念的東西

根據這個答案,它支持這種稱為占位符屬性的表示法:

spring: 
   profiles: 
     active: ${APP_PROFILE:test}
# ... #

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM