在阅读了 Kotlin,尤其是 Kotlin DSL 之后,这似乎是替换 JSON 配置文件的好方法。
我有一个接受配置文件参数(资源)的服务,例如--config='path/to/configX.json'
.
有许多不同的配置可以为不同的客户端定制和部署不同的服务。
JSON 文件虽然简单,但冗长、重复且容易出错。
Kotlin DSL 似乎是简化这些配置、减少重复(使用构建器函数)和内置“代码”验证的好方法(不像 JSON 需要自定义验证或如果出现错误则反序列化失败)。
但是,我没有看到在服务启动时从 Kotlin 脚本加载不同配置的示例(例如:)--config='path/to/configX.kts'
。
这是开箱即用的东西吗?
会被推荐的东西还是滥用 DSL?
简单的例子:
config.json
{
"castle" : {
"randomVar": 12,
"structure": "Titanium"
...
}
}
config.kts
castle {
randomVar 12
structure "Titanium"
...
}