我有一些查询参数的名称中带有破折号。当我尝试写类似的东西时
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]
一个简单的
parameter("name-with-dash".as[String])
为我工作