我正在解析三个请求参数,所有这些参数都包含在一个Option
类型中.如果这些选项中有任何一个None
,那么我想返回400错误.如何检查这些返回值是否属于None
何种类型?
Mar*_*ing 18
为什么不这样呢?
if (o1.isEmpty || o2.isEmpty || o3.isEmpty) BadRequest("Foo")
Run Code Online (Sandbox Code Playgroud)
Alternativeley取决于您的实施,您可能在某种集合中有您的选择.然后你可以使用exists
if (parsedRequestParameters.exists(_.isEmpty)) BadRequest("Foo")
Run Code Online (Sandbox Code Playgroud)
您可能想要的第三种选择,以防您想要对选项的内容执行某些操作:
val response = for {
v1 <- o1
v2 <- o2
v3 <- o3
} yield <some response depending on the values of o1..o3>
response getOrElse BadRequest("something wasn't specified")
Run Code Online (Sandbox Code Playgroud)
Dom*_*her 12
另一种可能性,为完整性添加:
(o1, o2, o3) match {
case(Some(p1), Some(p2), Some(p3)) => Ok // Do stuff with p1, p2, p3
case _ => BadRequest
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4367 次 |
最近记录: |