#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 是一个基于Java和Scala的开源Web应用程序框架,以其“写后即运行”的特性而闻名。这个入门教程的第三部分是关于如何使用Play Framework构建一个简单的留言板应用。在这里,我们将深入探讨Play ...
Play框架是Java和Scala开发Web应用的一个强大工具,它提供了模型-视图-控制器(MVC)架构模式,使得开发者能够快速、高效地构建现代Web应用。在这个“Play框架2.0入门教程(四)的源代码”中,我们主要探讨的是如何在...
调用Web服务 - **Play WS API** - 提供了一个简单易用的API来调用外部Web服务。 - **连接OpenID服务器** - 支持通过OpenID进行身份验证。 - **访问受OAuth保护的资源** - 支持OAuth协议,实现安全的数据访问。 ...
框架id(framework ID) - 141 - 从命令行设置框架id - 142 - 22.生产部署 - 142 - application.conf - 142 - 设置框架为prod模式: - 142 - 定义一个真实的数据库: - 143 - 禁止JPA的自动结构更新: - 143 - 定义一...
总之,`play2-riak` 是一个针对 Play Framework 2.0 的 Riak 集成解决方案,它允许开发者在 Play 应用中无缝地集成 Riak 数据存储,从而创建可扩展且高可用的 web 应用程序。通过熟练掌握这个库的使用,开发者可以...
Struts2.0是Java Web开发中非常重要的一个框架,它是Apache软件基金会的Jakarta项目下的一个产品。...同时,掌握Struts2.0的源码也有助于向更高层次的Java Web框架,如Spring MVC或Play Framework的迁移。
创建一个`audio`标签并设置其`src`属性为提示音的URL,然后在接收到消息时调用`play()`方法: ```html <audio id="messageSound" src="path/to/sound.mp3" preload="auto"></audio> ``` JavaScript中: ```...
2. **Play Framework**: Play是基于Java和Scala的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式,支持异步I/O和热加载,适合开发RESTful API。Play与Scala的集成使得开发者可以利用Scala的强大功能来...
但随着技术的发展,现在更多的开发者可能转向使用Spring Boot、Hibernate ORM(取代XFire的现代Web服务框架如Spring Web Services)和更新版本的Struts或替代品如Play Framework。 然而,由于描述中提到“jar自已去...
Struts2.0 是一款基于MVC(Model-View-Controller)设计模式的Java Web框架,用于构建可扩展和维护性高的企业级应用程序。它的出现是由于Struts 1的局限性和性能问题,因此在Struts2中引入了WebWork的核心设计理念,...
5. **集成**: Swagger Core支持多种Web开发框架,如Java的Spring MVC、Play Framework,甚至Node.js和Ruby on Rails。这样,无论你使用哪种技术栈,都可以轻松地将Swagger集成到你的项目中。 6. **测试**: Swagger ...
随着Web技术的发展,一些现代框架如Spring MVC和Play Framework提供了更好的MVC实现,逐渐取代了传统的JSP开发模式。 在提供的压缩包文件中,"jsp.pdf"可能包含了关于JSP的详细教程或参考文档,可以帮助深入理解JSP...
至于Silverlight 2.0和1.0的区别,2.0版本引入了更多功能,如更丰富的UI控件、数据绑定、模板化以及对.NET Framework的更全面支持。这意味着如果使用Silverlight 2.0,我们可以通过数据绑定简化UI与模型之间的交互,...
它可以与其他 Scala 库如 Play Framework 结合,用于 web 应用的测试。 2. **Markdown**:一种简单的文本格式,常用于编写文档,支持标题、列表、链接等基本元素,易于阅读和转换成 HTML、PDF 等格式。在 specs2 中...
但是,随着Struts 2的普及,许多开发者转向了更加现代的Web开发框架,如Spring MVC或Play Framework。尽管如此,对于维护旧的Struts 1.x应用或者对性能有较高要求的大型项目,EC标签仍然是一个非常实用的工具。
在前端领域,Scala可以通过例如Play Framework这样的框架来构建Web应用程序,它支持异步I/O和HTTP服务,适合构建现代、响应式的Web应用。 尽管这个项目是前端相关的,但使用Scala可能意味着它依赖于后端服务进行...
* Play Framework 分析这些 Web 框架的优缺点包括: * Spring MVC:优点是轻量级、灵活、可扩展性强;缺点是学习曲线陡峭 * Struts 2.0:优点是功能强大、可扩展性强;缺点是配置复杂、学习曲线陡峭 * Hibernate:...
对于Flash内容,由于.NET Framework 2.0及以上版本的WebBrowser控件支持ActiveX,因此可以用来嵌入和播放SWF文件。以下是如何在WinForms应用中使用WebBrowser控件加载SWF的示例: ```csharp WebBrowser webBrowser ...