gpt4 book ai didi

scala - 使用 Akka HTTP 创建基本 HTTP Post 请求的惯用方法

转载 作者:行者123 更新时间:2023-12-04 01:37:47 24 4
gpt4 key购买 nike

我试图弄清楚如何使用 Akka HTTP 库创建一个基本的 HTTP POST 请求。这就是我想出的:

val formData = Await.result(Marshal(FormData(combinedParams)).to[RequestEntity], Duration.Inf)
val r = HttpRequest(POST, url, headers, formData)

问题是它对我来说似乎有点不习惯。还有其他方法可以从 FormData 创建 HttpEntity 吗?尤其是我必须使用 Await 的事实或者返回一个 Future 即使数据很容易获得对于这样一个简单的任务来说似乎过于复杂。

最佳答案

您可以使用 Marshal为了理解其他 future ,例如您需要发送请求并解码响应的 future :

val content = for {
request <- Marshal(formData).to[RequestEntity]
response <- Http().singleRequest(HttpRequest(method = HttpMethods.POST, uri = s"http://example.com/test", entity = request))
entity <- Unmarshal(response.entity).to[String]
} yield entity

关于scala - 使用 Akka HTTP 创建基本 HTTP Post 请求的惯用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32757605/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com