Как сопоставить код статуса с Int в Scala - PullRequest
0 голосов
/ 08 ноября 2018

Каким было бы хорошим способом в Scala сопоставить целое число с Кодами состояния, определенными в Akka-http :

Я хотел бы сделать что-то вроде:

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

Но я, очевидно, не хочу делать это для всех кодов ошибок и скорее хотел бы, чтобы это было сделано с помощью сопоставления с образцом или более масштабируемым образом

1 Ответ

0 голосов
/ 08 ноября 2018
StatusCodes.getForKey(passedErrorCodeToMethod) match {
  case Some(status) => complete(status -> errorResponse)
  case None => oopsie()
}

Как то так?

...