我有下面的代码获取参数,如果它是有效的ObjectId,将其转换为Option [ObjectId],否则返回None。我怎样才能简化这个Scala选项的使用
我在想如何简化,但没有发现什么特别好。
注:params.get( “desiredImage”)是选项[字符串]
val imageId: Option[ObjectId] = params.get("imageId") match {
case None => None
case Some(x) => {
if (ObjectId.isValid(x)) {
Some(new ObjectId(x))
} else {
None
}
}
}
在更少的精神,你应该能够在isValid方法传递为'PARAMS .get(“imageId”)filter(ObjectId.isValid)' – Andy
我认为你的解决方案还需要一张地图来创建ObjectId –
@IsmaelAbreu - 谢谢,我已经更新了答案。 – Lee