[英]How to read query parameters in akka-http?
我知道akka-http庫在處理請求時對類類型進行編組和解組。但是現在,我需要讀取GET
請求的請求參數。 我嘗試了parameter()
方法,它返回ParamDefAux
類型,但我需要這些值作為字符串類型
我在下面的問題中檢查答案。
但不能做我需要的。
請告訴我如何從請求中提取查詢參數。 或者如何從ParamDefAux
提取所需的值
請求網址
http://host:port/path?key=authType&value=Basic345
獲取方法定義
val propName = parameter("key")
val propValue = parameter("value")
complete(persistanceMgr.deleteSetting(propName,propValue))
我的方法聲明
def deleteSetting(name:String,value:String): Future[String] = Future{
code...
}
對於像http://host:port/path?key=authType&value=Basic345
嘗試
path("path") {
get {
parameters('key.as[String], 'value.as[String]) { (key, value) =>
complete {
someFunction(key,value)
}
}
}
}
即使在代碼中不那么明確,您也可以從上下文中一次提取所有查詢參數。 您可以使用如下:
// Previous part of the Akka HTTP routes ...
extract(_.request.uri.query()) { params =>
complete {
someFunction(key,value)
}
}
如果您希望將query parameters
提取為一個整體
extract(ctx => ctx.request.uri.queryString(charset = Charset.defaultCharset)) { queryParams =>
//useyourMethod()
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.