我有一些查询参数的名称中带有短划线。当我尝试写类似
的东西时parameter('name-with-dash.as[String])
...在第一个破折号之后,它什么都不能识别为参数名称。
添加多余的单引号不能解决问题:
parameter(''name-with-dash'.as[String])
在name-with-dashes
周围使用双引号也不能解决问题,我只收到expected ')'
通常位于前面的'
消息。
parameter('"name-with-dash".as[String])
如果我忽略开头的单引号,则intellij不会显示任何错误,但会出现如下所示的编译错误:
Error:(27, 17) type mismatch; found : String("Name-With-Dash")
required: ?{def as: ?} Note that implicit conversions are not applicable because they are ambiguous:
both method _string2NR in trait ToNameReceptacleEnhancements of type(string: String)akka.http.scaladsl.common.NameReceptacle[String]
and method validateModel in object SomeObject of type (value: String)akka.http.scaladsl.server.Directive1[String]
are possible conversion functions from String("Name-With-Dash") to ?{def as: ?}
parameter("Name-With-Dash".as[String]).flatMap(p => provide[SomeIdentifier](SomeIdentifier(p))) |
已修复:
此问题已通过以下格式修复
parameter("name-with-dash")
即。仅带双引号且没有.as[String]
答案 0 :(得分:0)
一个简单的
parameter("name-with-dash".as[String])
为我工作