在Scala中用Status codes defined in Akka-http匹配整数是一种好方法:
我想做类似的事情:
if (passedErrorCodeToMethod == 200) {
complete(ToResponseMarshallable(StatusCodes.OK -> errorResponse))
}
else if (passedErrorCodeToMethod == 400) {
complete(ToResponseMarshallable(StatusCodes.BadRequest -> errorResponse))
}
但是我显然不想对所有错误代码都这样做,而是希望通过模式匹配或更具可扩展性的方式来实现
答案 0 :(得分:0)
StatusCodes.getForKey(passedErrorCodeToMethod) match {
case Some(status) => complete(status -> errorResponse)
case None => oopsie()
}
像这样吗?