如何在akka-http中读取查询参数?

Siv*_*mar 10 scala akka-stream akka-http

我知道akka-http库在处理请求时编组和解组类类型.但是现在,我需要读取请求的请求参数GET.我尝试了parameter()方法,它返回ParamDefAux类型,但我需要这些值作为字符串类型

我在下面的问题中检查答案.

  1. 如何在喷涂路由中解析获取请求参数?

  2. 使用Akka HTTP查询GET请求的参数(正式名称为Spray)

但不能做我需要的.

请告诉我如何从请求中提取查询参数.或者如何从中提取所需的值ParamDefAux

请求网址

http://host:port/path?key=authType&value=Basic345
Run Code Online (Sandbox Code Playgroud)

获取方法定义

 val  propName = parameter("key")
 val  propValue = parameter("value")
 complete(persistanceMgr.deleteSetting(propName,propValue))
Run Code Online (Sandbox Code Playgroud)

我的方法声明

def deleteSetting(name:String,value:String): Future[String] = Future{
 code...
}
Run Code Online (Sandbox Code Playgroud)

Sel*_*m G 22

对于像http://host:port/path?key=authType&value=Basic345try 这样的请求

path("path") {
  get {
    parameters('key.as[String], 'value.as[String]) { (key, value) =>
      complete {
        someFunction(key,value)
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 要做到这一点,`import akka.http.scaladsl.server.Directives._`需要在那里. (3认同)