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

精通 Grails: RESTful Grails

 2009-10-26 00:00:00 来源:WEB开发网   
核心提示: 在本文中,我将以 Atom 为指引,精通 Grails: RESTful Grails(5),使用 POST 来 INSERT,用 PUT 来 UPDATE,RESTful 方法通常使用 HTTP GET 来返回所涉及的资源表示,因此对于 Wikipedia 上的任何资源来说(http://en

在本文中,我将以 Atom 为指引,使用 POST 来 INSERT,用 PUT 来 UPDATE。但如果您在您的应用程序中反其道而行的话,那么也是可以的 — RESTful Web Services 一书支持使用 PUT 来 INSERT。

那么要成为真正的面向资源的服务要满足哪些条件呢?可以这样归结:创建一个好的统一资源标识符(Uniform Resource Identifier,URI),并以标准化的方式来使用 HTTP 动词(GET、POST、PUT 和 DELETE),而不是使用与自定义的方法调用相结合的动词(GET)。

再回到 Beatles 的查询上,要想更接近正式的 RESTful 接口,第一步就是要调试 URI。Beatles 不是作为参数而被传入到 webSearch 方法,而是成为了 URI 的中心资源。例如,关于 Beatles 的 Wikipedia 文章的 URI 为 http://en.wikipedia.org/wiki/Beatles。

但是真正把 GETful 原理和 RESTful 原理区别开来的是用于返回资源表示的方法。Yahoo! RPC 接口定义了很多自定义方法(webSearch、albumSearch、newsSearch 等等)。如果不读取文档的话,是无法得知方法调用的名称的。就 Yahoo! 而言,我可以跟随它的模式并猜出它有 songSearch、imageSearch 和 videoSearch 这几个方法调用,但却不敢保证一定是这样。同样,其他的 Web 站点可能使用不同的命名约定,如 findSong 或者 songQuery。就 Grails 而言,像 aiport/list 和 airport/show 这样的自定义操作在整个应用程序内都是标准操作,但这些方法名称无法成为其他 Web 框架中的标准。

相反,RESTful 方法通常使用 HTTP GET 来返回所涉及的资源表示。因此对于 Wikipedia 上的任何资源来说(http://en.wikipedia.org/wiki/Beatles、http://en.wikipedia.org /wiki/United_Airlines 或者 http://en.wikipedia.org/wiki/Peanut_butter_and_jelly_sandwich),我都可以得知 GET 是获取它的标准方式。

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

Tags:精通 Grails RESTful

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