在HOCON和Typesafe配置中,如何在替换时设置默认值。
它是否支持这样的事情?
${server.host: 'localhost'}
- >如果server.host设置(在相同的配置文件中或通过环境设置),则替换为如果未设置,则选择默认值
答案 0 :(得分:7)
来自substitutions的官方文档:
如果未定义$ {?foo}语法的替换:
- 如果它是对象字段的值,则不应创建该字段。如果该字段将覆盖先前设置的值 相同的字段,则前一个值仍然存在。
所以这是使用object merging的一种可能的解决方法:
defaults {
foo: "default Value"
}
item = ${defaults} {
foo: ${?bar}
}
甚至更简单:
item = {
foo: "default Value"
foo: ${?bar}
}