如何读取拒绝akka中的参数值

时间:2017-03-16 16:39:47

标签: akka akka-http

我想在拒绝中读取参数值:

parameter(paramName.as[Int] ? default).recover[Tuple1[Int]]{
 case Seq(MalformedQueryParamRejection(paramName, _, _)) =>
       complete(invalidQueryParameterError(paramName, ????))
}
而不是???我想通过我们的param值 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

看一下akka.http.scaladsl.server.ParameterDirectives,您可以看到如何通过handleParamResult处理查询参数。似乎参数值没有传递,因此您实际上无法从Rejection对象中提取错误的值。

但是,Akka Http提供了一些关于查询参数处理结果的标准消息。我想到的唯一解决方案是在您确实需要参数值时解析该响应。但是,我不明白为什么你会这样做。

例如,here,当查询参数格式错误时,您可以看到Akka在拒绝时返回的预期消息。尽管如此,我认为依靠这些标准信息并不是一种好习惯。