I want to create the following configuration in code.
mail{
signupUrl = "/test/ws/users/signup/"
signupFrom="Test<mailrobot@test.com>"
signupReply="Test<noreply@test.comm>"
}
I tried the following two ways but am getting errors
Attempt 1. The API ( https://www.playframework.com/documentation/2.6.x/api/scala/index.html#play.api.Configuration $) has a from
method which takes a 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
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)
Attempt 2 - The API ( https://www.playframework.com/documentation/2.6.x/api/scala/index.html#play.api.Configuration $) has apply
method which takes (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)
Error
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>))
Your first version works if you just remove the last lin, like:
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))
already returns a Configuration.
If you want to create the Configuration from key -> value
pairs, you need:
Seq
Seq
to varargs
( :_*
). Here the example:
val mailConfig = Seq("signupUrl" -> "/test/ws/users/signup/",
"signupFrom"->"Test<mailrobot@test.com>",
"signupReply"->"Test<noreply@test.comm>")
val newConfiguration = Configuration(mailConfig: _*)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.