精通 Grails: RESTful Grails
2009-10-26 00:00:00 来源:WEB开发网我将向您呈现如何让您的 Grails 应用程序成为原始数据 — 具体指 XML — 的源,从而让其他的 Web 应用程序也能够使用它。我通常把这种情况表述为:为您的 Grails 应用程序建立 Web 服务,但最近这个说法被赋予了新的含义。很多人把 Web 服务与 SOAP 及成熟的面向服务架构(service-oriented architecture,SOA)联系到一起。如果选择这种方法的话,Grails 拥有两个插件可以用来将 SOAP 接口公开给应用程序。但我将向您呈现的内容并非处理某一个诸如 SOAP 这样的具体实现,而是如何使用一个基于具象状态传输(Representational State Transfer,REST)的接口来返回普通旧式 XML(Plain Old XML,POX)。
说到 RESTful Web 服务,理解缘由 与理解方法 同样重要。Roy Fielding 的博士论文— REST 这个缩略词的发源处 — 概括了实现 Web 服务的两大方法:一个是面向服务,另一个是面向资源。在向您呈现实现自己的 RESTful 面向资源架构(resource-oriented architecture,ROA)的代码前,我将先澄清这两个设计原理之间的差异,并论述普遍使用的 REST 的两种最有争议的定义。学习了本文第一部分的所有内容之后,稍后您就可以学习到很多的 Grails 代码。
REST 简介
当开发人员说要提供 RESTful Web 服务时,他们通常是指想要提供一个简单的、无争议的方法来从他们的应用程序中获取 XML。RESTful Web 服务通常提供一个可以响应 HTTP GET 请求而返回 XML 的 URL(稍后我将给出 REST 的更正式的定义,它对这个定义进行了改良,虽然改动不大,但仍然很重要)。
Yahoo! 提供了大量的 RESTful Web 服务,它们响应简单的 HTTP GET 请求,而返回 POX。例如,在 Web 浏览器的位置字段键入 http://api.search.yahoo.com/WebSearchService/V1/webSearch?appid=YahooDemo&query=beatles。您将获得使用 XML 的 Web 搜索结果,它和在 Yahoo! 主页的搜索框里键入 beatles 而获得的使用 HTML 的搜寻结果是一样的。
- ››精通Photoshop之通道详解
- ››精通 Grails: 使用 Grails 进行单元测试(单元测试...
- ››精通 Grails: 身份验证和授权
- ››精通 Grails: 文件上传和 Atom 联合
- ››精通 Grails: 了解插件
- ››精通 Grails: 创建自定义插件
- ››精通 Grails: 在企业中使用 Grails
- ››精通 Grails: Grails 与移动 Web
- ››精通 Grails: Grails 与遗留数据库
- ››精通 Grails: RESTful Grails
- ››精通 Grails: 用 JSON 和 Ajax 实现异步 Grails
- ››精通 Grails: 用定制 URI 和 codec 优化 Grails 中...
更多精彩
赞助商链接