scala - 无法创建配置对象
问题描述
我想在代码中创建以下配置。
mail{
signupUrl = "/test/ws/users/signup/"
signupFrom="Test<mailrobot@test.com>"
signupReply="Test<noreply@test.comm>"
}
我尝试了以下两种方法,但出现错误
尝试 1. API(https://www.playframework.com/documentation/2.6.x/api/scala/index.html#play.api.Configuration $)有一个from
方法,它需要一个Map
.
val mailConfig = Map("signupUrl" -> "/test/ws/users/signup/",
"signupFrom"->"Test<mailrobot@test.com>",
"signupReply"->"Test<noreply@test.comm>")
val newConfig = Configuration.from(Map("mail"->mailConfig))
val newConfiguration = Configuration(newConfig)
错误
Error:(575, 30) overloaded method value apply with alternatives:
(underlying: com.typesafe.config.Config)play.api.Configuration <and>
(data: (String, Any)*)play.api.Configuration
cannot be applied to (play.api.Configuration)
val newConfiguration = Configuration(newConfig)
尝试 2 - API(https://www.playframework.com/documentation/2.6.x/api/scala/index.html#play.api.Configuration $)具有apply
采用的方法(String,any*)
val mailConfig = ("signupUrl" -> "/test/ws/users/signup/",
"signupFrom"->"Test<mailrobot@test.com>",
"signupReply"->"Test<noreply@test.comm>")
val newConfig = ("mail"->mailConfig)
val newConfiguration = Configuration(newConfig)
错误
bug in method caller: not valid to create ConfigValue from: ((signupUrl,/test/ws/users/signup/),(signupFrom,Test<mailrobot@test.com>),(signupReply,Test<noreply@test.comm>))
解决方案
如果您只删除最后一个 lin,您的第一个版本就可以工作,例如:
val mailConfig = Map("signupUrl" -> "/test/ws/users/signup/",
"signupFrom"->"Test<mailrobot@test.com>",
"signupReply"->"Test<noreply@test.comm>")
val newConfig = Configuration.from(Map("mail"->mailConfig))
val newConfig: Configuration = Configuration.from(Map("mail"->mailConfig))
已经返回一个配置。
如果要从key -> value
对创建配置,则需要:
- 把对放在一个
Seq
- 转换
Seq
为varargs
(:_*
)。
这里的例子:
val mailConfig = Seq("signupUrl" -> "/test/ws/users/signup/",
"signupFrom"->"Test<mailrobot@test.com>",
"signupReply"->"Test<noreply@test.comm>")
val newConfiguration = Configuration(mailConfig: _*)
推荐阅读
- excel - 如何从Excel中的日期列计算财政年度
- c++ - 如何在 C++ 中“定义”数据类型?
- django - 为 django 表添加前缀导致 ProgrammingError。我该如何解决?
- javascript - 使用 ajax 显示通知 django
- css - 多个下拉菜单不显示选项
- python - 迭代给定目录中的文件夹/文件时出现 FileNotFoundError
- python - 为什么获取 settings.DATABASES 配置不正确。请提供 ENGINE 值。?
- hadoop - 错误委托。AbstractDelegationTokenSecretManager:ExpiredTokenRemover 收到 java.lang.InterruptedException:睡眠中断(hadoop window10)
- angular - Angular:将异步服务变量绑定到模板
- docker - 为什么从主机和容器输入时“docker stats”的结果不同?