加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 用Akka HTTP创建基本的HTTP Post请求的惯用方式

发布时间:2020-12-16 19:06:29 所属栏目:安全 来源:网络整理
导读:我试图找出如何使用Akka HTTP库创建基本的HTTP POST请求.这是我想出来的: val formData = Await.result(Marshal(FormData(combinedParams)).to[RequestEntity],Duration.Inf)val r = HttpRequest(POST,url,headers,formData) 事情是,对我而言似乎有点非惯用
我试图找出如何使用Akka HTTP库创建基本的HTTP POST请求.这是我想出来的:

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

事情是,对我而言似乎有点非惯用语.有没有其他方法从FormData创建一个HttpEntity?特别是即使数据容易获得,我必须使用等待或返回未来的事实,对于这样一个简单的任务来说似乎过于复杂.

解决方法

您可以使用元帅来理解其他期货,例如您需要发送请求并解除响应的那些:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读