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

原创
2012/03/26 18:40
阅读数 882

    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方法结束.

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服务器处理.

def feedTitle(feedUrl: String) = Action {
  Async {
    WS.url(feedUrl).get().map { response =>
      Ok("Feed title: " + (response.json \ "title").as[String])
    }
  }  
}


展开阅读全文
加载中
点击加入讨论🔥(2) 发布并加入讨论🔥
打赏
2 评论
1 收藏
0
分享
返回顶部
顶部