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]) } } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。