我有一个隐式类,它包装了一个类型安全的Config类,以从中解析信息。
此类使用pureconfig解析数据。之所以使用它,是因为我更喜欢config.as[String]("foo")
而不是loadConfig[String](config, "foo")
。但是由于我使用此HoconConfigUtil
作为适配器
我尝试解析的所有case
类均失败,因为未直接在这些类上调用loadConfig方法
案例类。因此,我收到如下所示的错误。处理此问题的最佳方法是什么?
错误消息:
could not find implicit value for evidence parameter of type pureconfig.ConfigReader[com.example.config.Parallelism]
隐式适配器类
implicit class HoconConfigUtil(config: Config) {
def as[T](path: String)(implicit derivation: Derivation[ConfigReader[T]]): T = {
pureconfig.loadConfig[T](config, path) match {
case Right(x: T @unchecked) => x
case Left(th: ConfigReaderFailures) => throw makeException(th)
}
}
}