使用名称中带有短划线的 Akka HTTP 参数



我有一些查询参数的名称中带有破折号。当我尝试写类似的东西时

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])

为我工作

最新更新