[英]Passing data with request using Akka http
我是Scala / Akka的新手,我想使用Akka Scaladsl打电话给我。 使用curl,我可以这样调用服务:
curl -v -d "STRING_DATA" -X GET http://localhost:3838/query?format=json
我知道我可以使用Scaladsl调用这样的服务:
Http().singleRequest(HttpRequest(uri = "http://localhost:3838/query?format=json"))
responseFuture onComplete {
case Success(response) => {
// Do something with the response here..
}
}
我不确定如何通过HttpRequest
将“数据”(“ STRING_DATA”)与请求一起传递。 有什么想法吗?
curl -v -d "STRING_DATA" -X GET http://localhost:3838/query?format=json
上面的命令使用application/x-www-form-urlencoded
内容类型发出GET请求(如果您省略了-X GET
,则由于-d
参数,该命令将是POST)。 使用FormData
是在Akka HTTP中为application/x-www-form-urlencoded
数据建模的一种方法:
val ent = FormData(Map("format" -> "json", "data" -> "STRING_DATA")).toEntity
要发送带有该数据的POST请求:
Http().singleRequest(HttpRequest(method = HttpMethods.POST,
uri = "http://localhost:3838/query", entity = ent))
发送GET请求:
Http().singleRequest(HttpRequest(uri = "http://localhost:3838/query", entity = ent))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.