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

本文介绍了如何在Play应用中利用WS库进行异步HTTP调用,包括设置HTTP选项和获取HTTP响应结果。通过示例展示了发送GET和POST请求的方法,并演示了如何从异步调用中检索HTTP响应结果。

    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])
    }
  }  
}


转载于:https://my.oschina.net/dongming/blog/51194

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值