如何在Scala中将statuscode与Int匹配

时间:2018-11-08 16:32:19

标签: scala akka-http

在Scala中用Status codes defined in Akka-http匹配整数是一种好方法:

我想做类似的事情:

if (passedErrorCodeToMethod == 200) {
       complete(ToResponseMarshallable(StatusCodes.OK -> errorResponse))
}
else if (passedErrorCodeToMethod == 400) {
       complete(ToResponseMarshallable(StatusCodes.BadRequest -> errorResponse))     
}

但是我显然不想对所有错误代码都这样做,而是希望通过模式匹配或更具可扩展性的方式来实现

1 个答案:

答案 0 :(得分:0)

StatusCodes.getForKey(passedErrorCodeToMethod) match {
  case Some(status) => complete(status -> errorResponse)
  case None => oopsie()
}

像这样吗?