9

在 HOCON 和 Typesafe Config 中,如何设置默认值以防替换。

它支持这样的东西吗?

${server.host: 'localhost'}-> 如果 server.host 设置(在相同的配置文件中或通过环境设置)它会替换如果未设置则选择默认值

4

1 回答 1

13

来自关于替换的官方文档:

如果使用 ${?foo} 语法的替换未定义:

  • 如果它是对象字段的值,则不应创建该字段。如果该字段将覆盖同一字段的先前设置的值,则先前的值将保留。

因此,这是使用对象合并的一种可能的解决方法:

defaults {
  foo: "default Value"
}

item = ${defaults} {
  foo: ${?bar}
}

甚至更简单:

item = {
  foo: "default Value"
  foo: ${?bar}
}
于 2016-08-17T11:23:16.120 回答