从spray.io文档页面:
color
将参数“color”的值提取为字符串
color.?
将参数“color”的可选值提取为 Option[String]
amount.as[Int]
将参数“amount”的值提取为 Int,您需要在范围内匹配的反序列化器才能工作(另请参见 Unmarshalling)
那么如何解析可选Int
值呢?类似的东西amount.?.as[Int]
似乎不起作用。
从spray.io文档页面:
color
将参数“color”的值提取为字符串
color.?
将参数“color”的可选值提取为 Option[String]
amount.as[Int]
将参数“amount”的值提取为 Int,您需要在范围内匹配的反序列化器才能工作(另请参见 Unmarshalling)
那么如何解析可选Int
值呢?类似的东西amount.?.as[Int]
似乎不起作用。
case class NameReceptacle[A](name: String) {
def as[B] = NameReceptacle[B](name)
def as[B](deserializer: FSOD[B]) = NameDeserializerReceptacle(name, deserializer)
def ? = as[Option[A]]
def ?[B](default: B) = NameDefaultReceptacle(name, default)
def ![B](requiredValue: B) = RequiredValueReceptacle(name, requiredValue)
}
简单的语法是
"amount".as[Option[Int]]
不幸的是,没有语法糖可以NameRecaptable
直接为选项类型创建一个,但您可以分两步完成:
"amount".as[Int].as[Option[Int]]
?
是 的别名NameRecaptable[A].as[Option[A]]
,因此您可以使用以下代码(注意后缀运算符语法):
"amount".as[Int]?