`

Play framework 2.0 -调用WEB服务

阅读更多

 

#Play的WS API

 

有时候你需要在Play应用中调用其他HTTP服务。Play通过它的play.libs.WS库提供了支持,它可以提供一种方式进行异步HTTP调用。

play.libs.WS产生的调用应当返回Promise<Ws.Response>类型,同Play的异步机制,你可以稍后处理它。

 

1.生成HTTP调用

 

要产生一个HTTP请求,首先你要使用WS.url()指定URL,然后得到一个生成器来指定HTTP选项,例如设置头等。

最后调用与你想要的HTTP相关的方法:

Promise<WS.Response> homePage = WS.url("http://mysite.com").get();
 

或者:

 Promise<WS.Response> result = WS.url("http://localhost:9001").post("content");
 

2.获取HTTP请求结果

 

调用是异步的,你需要把它当作Promise<WS.Response>来取得实际内容。你可以组织多个

Promise最终以一个可以直接被Play服务器处理的Promise<Result>结束。

 import play.libs.F.Function;
	import play.libs.WS;
	import play.mvc.*;

	public class Controller extends Controller {

	 public static Result feedTitle(String feedUrl) {
	    return async(
		WS.url(feedUrl).get().map(
		    new Function<WS.Response, Result>() {
			public Result apply(WS.Response response) {
			    return ok("Feed title:" + response.asJson().findPath("title"));
			}
		    }
		)
	    );
	 }
	}
分享到:
评论

相关推荐

    Play framework 2.0入门教程(三)的源代码,Play留言板

    Play Framework 2.0 是一个基于Java和Scala的开源Web应用程序框架,以其“写后即运行”的特性而闻名。这个入门教程的第三部分是关于如何使用Play Framework构建一个简单的留言板应用。在这里,我们将深入探讨Play ...

    Play framework 2.0入门教程(四)的源代码,Play留言板(数据库版)

    Play框架是Java和Scala开发Web应用的一个强大工具,它提供了模型-视图-控制器(MVC)架构模式,使得开发者能够快速、高效地构建现代Web应用。在这个“Play框架2.0入门教程(四)的源代码”中,我们主要探讨的是如何在...

    play2.0 for java developers.pdf

    调用Web服务 - **Play WS API** - 提供了一个简单易用的API来调用外部Web服务。 - **连接OpenID服务器** - 支持通过OpenID进行身份验证。 - **访问受OAuth保护的资源** - 支持OAuth协议,实现安全的数据访问。 ...

    play框架手册

    框架id(framework ID) - 141 - 从命令行设置框架id - 142 - 22.生产部署 - 142 - application.conf - 142 - 设置框架为prod模式: - 142 - 定义一个真实的数据库: - 143 - 禁止JPA的自动结构更新: - 143 - 定义一...

    play2-riak:用于播放框架 2.0 的 riak 2

    总之,`play2-riak` 是一个针对 Play Framework 2.0 的 Riak 集成解决方案,它允许开发者在 Play 应用中无缝地集成 Riak 数据存储,从而创建可扩展且高可用的 web 应用程序。通过熟练掌握这个库的使用,开发者可以...

    struts2.0源代码

    Struts2.0是Java Web开发中非常重要的一个框架,它是Apache软件基金会的Jakarta项目下的一个产品。...同时,掌握Struts2.0的源码也有助于向更高层次的Java Web框架,如Spring MVC或Play Framework的迁移。

    springBoot2.0整合webSocket 服务器主动推送数据到前端,并且弹框提示带有音乐提醒

    创建一个`audio`标签并设置其`src`属性为提示音的URL,然后在接收到消息时调用`play()`方法: ```html &lt;audio id="messageSound" src="path/to/sound.mp3" preload="auto"&gt;&lt;/audio&gt; ``` JavaScript中: ```...

    play-scala-service-example:带有Macwire端点Akka类型的播放服务

    2. **Play Framework**: Play是基于Java和Scala的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式,支持异步I/O和热加载,适合开发RESTful API。Play与Scala的集成使得开发者可以利用Scala的强大功能来...

    spring2.0 hibernate 3.0 struts1.1 xfire1.2 整合

    但随着技术的发展,现在更多的开发者可能转向使用Spring Boot、Hibernate ORM(取代XFire的现代Web服务框架如Spring Web Services)和更新版本的Struts或替代品如Play Framework。 然而,由于描述中提到“jar自已去...

    struts2.0第一讲

    Struts2.0 是一款基于MVC(Model-View-Controller)设计模式的Java Web框架,用于构建可扩展和维护性高的企业级应用程序。它的出现是由于Struts 1的局限性和性能问题,因此在Struts2中引入了WebWork的核心设计理念,...

    swagger-core-2.1.13.tar.gz

    5. **集成**: Swagger Core支持多种Web开发框架,如Java的Spring MVC、Play Framework,甚至Node.js和Ruby on Rails。这样,无论你使用哪种技术栈,都可以轻松地将Swagger集成到你的项目中。 6. **测试**: Swagger ...

    JavaServer Page

    随着Web技术的发展,一些现代框架如Spring MVC和Play Framework提供了更好的MVC实现,逐渐取代了传统的JSP开发模式。 在提供的压缩包文件中,"jsp.pdf"可能包含了关于JSP的详细教程或参考文档,可以帮助深入理解JSP...

    Silverlight(2) - 1.0实例之支持录音和回放的钢琴(Silverlight+ASP.NET AJAX+DLINQ)

    至于Silverlight 2.0和1.0的区别,2.0版本引入了更多功能,如更丰富的UI控件、数据绑定、模板化以及对.NET Framework的更全面支持。这意味着如果使用Silverlight 2.0,我们可以通过数据绑定简化UI与模型之间的交互,...

    specs2-markdown_2.11.0-RC1-2.3.10.zip

    它可以与其他 Scala 库如 Play Framework 结合,用于 web 应用的测试。 2. **Markdown**:一种简单的文本格式,常用于编写文档,支持标题、列表、链接等基本元素,易于阅读和转换成 HTML、PDF 等格式。在 specs2 中...

    struts中ec标签的使用

    但是,随着Struts 2的普及,许多开发者转向了更加现代的Web开发框架,如Spring MVC或Play Framework。尽管如此,对于维护旧的Struts 1.x应用或者对性能有较高要求的大型项目,EC标签仍然是一个非常实用的工具。

    cds-reimbursement-claim-frontend

    在前端领域,Scala可以通过例如Play Framework这样的框架来构建Web应用程序,它支持异步I/O和HTTP服务,适合构建现代、响应式的Web应用。 尽管这个项目是前端相关的,但使用Scala可能意味着它依赖于后端服务进行...

    框架笔试-tang.docx

    * Play Framework 分析这些 Web 框架的优缺点包括: * Spring MVC:优点是轻量级、灵活、可扩展性强;缺点是学习曲线陡峭 * Struts 2.0:优点是功能强大、可扩展性强;缺点是配置复杂、学习曲线陡峭 * Hibernate:...

    C# LoadFLASH(图像操作)

    对于Flash内容,由于.NET Framework 2.0及以上版本的WebBrowser控件支持ActiveX,因此可以用来嵌入和播放SWF文件。以下是如何在WinForms应用中使用WebBrowser控件加载SWF的示例: ```csharp WebBrowser webBrowser ...

Global site tag (gtag.js) - Google Analytics