Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 如何处理akka http中的多个无效查询参数?_Scala_Akka_Akka Http - Fatal编程技术网

Scala 如何处理akka http中的多个无效查询参数?

Scala 如何处理akka http中的多个无效查询参数?,scala,akka,akka-http,Scala,Akka,Akka Http,我在路由中定义了查询参数,如下所示: parameters(('modifiedDate.as[String].?, 'active.as[Boolean].?)) { (modifiedDate, active) => 我有以下拒绝处理程序: RejectionHandler.newBuilder() .handle { case MalformedQueryParamRejection(param, _, _) => param match {

我在路由中定义了查询参数,如下所示:

parameters(('modifiedDate.as[String].?, 'active.as[Boolean].?)) { (modifiedDate, active) =>
我有以下拒绝处理程序:

RejectionHandler.newBuilder()
      .handle { case MalformedQueryParamRejection(param, _, _) =>
        param match {
          case "modifiedDate" => ...
          case "active" => ...
        }
      }
问题是,格式错误的QueryParamRejection只与第一个错误匹配,因此如果两个查询参数都被传递,并且都不正确:

some-endpoint?modifiedDate=invalid&active=invalid
只有第一个错误才会通知客户

是否有任何方法可以使用akka http通知所有无效的查询参数,例如
格式错误的QueryParamRejection
,但会报告所有无效的查询参数,例如
格式错误的QueryParamsRejection
(复数)?

使用。例如:

RejectionHandler.newBuilder()
  .handleAll[MalformedQueryParamRejection] { paramRejections =>
    // paramRejections is a Seq[MalformedQueryParamRejection]
    val malformedParamNames = paramRejections.map(_.parameterName)
    ...
  }
  ...

我已为此提出了一个功能请求: