Doing HTTP request in Scala

前端 未结 9 765
死守一世寂寞
死守一世寂寞 2020-12-12 14:31

I am trying to issue a simple POST request to a webservice which returns some XML in Scala.

It seems that Dispatch is the standard library used for this task, but I

9条回答
  •  半阙折子戏
    2020-12-12 14:45

    You could use spray-client. The documentation is lacking (it took me some digging to find out how to make GET requests with query parameters) but it's a great option if you are already using spray. And the documentation is better than dispatch.

    We're using it at AI2 over dispatch because the operators are less symbolic and we're already using spray/actors.

    import spray.client.pipelining._
    
    val url = "http://youruri.com/yo"
    val pipeline: HttpRequest => Future[HttpResponse] = sendReceive
    
    // Post with header and parameters
    val responseFuture1: Future[String] = pipeline(Post(Uri(url) withParams ("param" -> paramValue), yourPostData) map (_.entity.asString)
    
    // Post with header
    val responseFuture2: Future[String] = pipeline(Post(url, yourPostData)) map (_.entity.asString)
    

提交回复
热议问题