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])
    }
  }  
}
相關文章
相關標籤/搜索