但他们的文档假设我已经熟悉Scala,Akka和Spray本身。我的意思是我无法找到如何做这个简单的基本事情,我希望在他们的主页上有一个代码片段...
我唯一能找到的是如何使用spray-httpx
:
import spray.httpx.RequestBuilder._
val req = Get("http://url")
该对象没有将自己发送到任何地方的操作,所以我确定我应该使用Akka的东西来做它,但是他们的文档没有显示该过程。请告诉我怎么做。如果spray-can
做同样的事情,我知道它可以,我更喜欢这样。
答案 0 :(得分:1)
这里有一个例子:http://spray.io/documentation/1.1-SNAPSHOT/spray-client/
import spray.http._
import spray.client.pipelining._
implicit val system = ActorSystem()
import system.dispatcher // execution context for futures
val pipeline: HttpRequest => Future[HttpResponse] = sendReceive
val response: Future[HttpResponse] = pipeline(Get("http://spray.io/"))
甚至更简单的示例:https://github.com/spray/spray/wiki/spray-client
val conduit = new HttpConduit("github.com")
val responseFuture = conduit.sendReceive(HttpRequest(GET, uri = "/"))
在这两种情况下,您都必须像处理Future一样处理结果,例如:
for {response <- responseFuture} yield { someFunction(response) }