Play 2.0 用户指南 - 调用WebServices -- 针对Scala开发者

    Play WS API

    有时候咱们须要在Play应用中调用外部HTTP服务。Play经过play.api.libs.ws.WS库提供支持,它提供了一种异步HTTP调用的方法。
    任何play.api.libs.ws.WS的调用將返回Promise[play.api.libs.ws.Response],稍候咱们能够用Play提供的异步机制处理。

    使用HTTP调用


    使用WS.url()指定一个URL发送一个HTTP请求. 你將获得一个构建器,可用它设置一些HTTP选项,如头信息. 经过调用一个对应的HTTP方法结束.json

val homePage: Promise[ws.Response] = WS.url("http://mysite.com").get()

    或者
val result: Promise[ws.Response] = {
  WS.url("http://localhost:9001/post").post("content")
}

   

检索HTTP响应结果


    调用是以异步的方式,你须要以Promise[ws.Response]获取结果。你能够將多个promises组合以Promise[Result]结束, 让它直接由Play服务器处理.api

def feedTitle(feedUrl: String) = Action {
  Async {
    WS.url(feedUrl).get().map { response =>
      Ok("Feed title: " + (response.json \ "title").as[String])
    }
  }  
}
相关文章
相关标签/搜索