WEB开发网
开发学院软件开发Java 精通 Grails: RESTful Grails 阅读

精通 Grails: RESTful Grails

 2009-10-26 00:00:00 来源:WEB开发网   
核心提示: 回过来再看一下我刚才做的 Yahoo! 搜索查询,同样,精通 Grails: RESTful Grails(3),不难想象出,可以将它重写为一个方法调用,我认为 Yahoo! 在整理不太正式的(low-ceremony)Web 服务的集合方面做的相当好,这个词恰到好处地概括出了 Yahoo! 的

回过来再看一下我刚才做的 Yahoo! 搜索查询,同样,不难想象出,可以将它重写为一个方法调用。http://api.search.yahoo.com/WebSearchService /V1/webSearch?appid=YahooDemo&query=beatles 轻松转换成了 WebSearchService.webSearch("YahooDemo", "beatles")。

所以如果 Yahoo! 调用实际上为 RPC 调用的话,那这跟我先前所称的 Yahoo! 服务是 RESTful 的岂不是互相矛盾的么?很不幸,就是矛盾的。但犯这种错误的不只我一个。Yahoo! 也称这些服务是 RESTful 的,但它也坦言:从最严格的意义上讲这些服务并不符合 RESTful 服务的定义。在 Yahoo! Web Services FAQ 中寻找 “什么是 REST?”,答案是:“REST 代表 Representational State Transfer。大多数的 Yahoo! Web Services 都使用 ‘类 REST’ 的 RPC 样式的操作,而非 HTTP GET 或 POST……”

这个问题在 REST 社区内一直引发着争论。问题是没有准确的定义可以简单明了地描述这种 “较之 POST 更偏好 HTTP GET 的、较之 XML 请求更偏好简单的 URL 请求的、基于 RPC 的 Web 服务” 。有些人称之为 HTTP/POX 或者 REST/RPC 服务。其他人则对应 High REST Web 服务 — 一种与 Fielding 的面向资源架构的定义更接近的服务 — 而称之为 Low REST Web 服务。

我将类似 Yahoo! 的服务称为 GETful 服务。这并不表示我看轻它 — 正相反,我认为 Yahoo! 在整理不太正式的(low-ceremony)Web 服务的集合方面做的相当好。这个词恰到好处地概括出了 Yahoo! 的 RPC 样式的服务的益处 — 通过发出一个简单的 HTTP GET 请求来获得 XML 结果 —,而且没有滥用 Fielding 所作的原始定义。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:精通 Grails RESTful

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接