繁体   English   中英

使用Akka http通过请求传递数据

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM