0

我有一个案例类,如下所示:

case class MyConfig(arg1:String, extraArgs:Map[String,String])

我希望以下内容可以从 HOCON 配置中解析

{
    arg1 = 'hello world'
}

但是,此失败extraArgs是因为未定义。我可以extraArgs在我的案例类中设置为可选,但这将是多余的。有没有办法指示 PureConfig 将缺少的字段解析为空集合?

4

1 回答 1

2

正如@LuisMiguelMejíaSuárez 在评论中建议的那样,您应该添加一个默认参数:

import pureconfig._
import pureconfig.generic.auto._
import com.typesafe.config.ConfigFactory

case class MyConfig(url: String, m: Map[String, String] = Map.empty)

val config1 = ConfigFactory.parseString("""{ "url": "https" }""")
val config2 = ConfigSource.fromConfig(config1).load[MyConfig]
println(config2)

代码在Scastie运行。

于 2021-01-12T15:49:49.877 回答