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

我试图找出如何使用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

相关文章

共收录Twitter的14款开源软件,第1页Twitter的Emoji表情 Tw...
Java和Scala中关于==的区别Java:==比较两个变量本身的值,即...
本篇内容主要讲解“Scala怎么使用”,感兴趣的朋友不妨来看看...
这篇文章主要介绍“Scala是一种什么语言”,在日常操作中,相...
这篇文章主要介绍“Scala Trait怎么使用”,在日常操作中,相...
这篇文章主要介绍“Scala类型检查与模式匹配怎么使用”,在日...