当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

REST的意义在于:

发表于: 2006-12-16   作者:cvu   来源:转载   浏览:
摘要: 刚才回了qiezi的一篇帖子,发现回到他的blog里去了,不如新开一篇: 引用 我总觉得REST应该用于提供数据而不是页面 如果能够套用CRUD,那么REST就是既能提供数据(或者用REST的术语:resource)又能提供页面。 GET /posts # list, for display only GET /posts/new
刚才回了qiezi的一篇帖子,发现回到他的blog里去了,不如新开一篇:

引用
我总觉得REST应该用于提供数据而不是页面


如果能够套用CRUD,那么REST就是既能提供数据(或者用REST的术语:resource)又能提供页面。

GET  /posts        # list,   for display only  
GET  /posts/new    # new,    for display only  
GET  /posts/1;edit # edit,   for display only  
POST /posts        # update, for resource  
GET  /posts/1      # view,   for both display and resource  
PUT  /posts/1      # update, for resource  
DELETE /posts/1    # destroy,for resource 


为什么CRUD好,除了可以理清思路,更是为了可以用REST标准来创建一套既能...又能...的机制。这样为你的网站/程序自动提供API了。

设想REST流行起来,新网站都缺省地提供符合REST标准的API,整个internet就是一个巨大的类库,这才是真正的webOS。这才是REST的魅力所在,是激动人心的地方,不是仅仅为了某单个项目的优化。

再引申以下:
web calendar,web office,web mail,web rss reader都有些很不错的小公司提供的服务,人气也不错,但是google开始做这些东西的时候,他们就消失了(或者被google收购了)。因为虽然功能有些差距,但google把他们集成了呀。集成的便利性很有诱惑力,所以那些focus的小公司就无以为继了。有人说google是下一个microsoft,只不过把东西都搬到网上去了,这个垄断的趋势已经有苗头了。但是如果那些service provider都用REST的标准,就像上面说的,internet就是一个巨大的类库(就像DHH的那个ppt的名字:world of resources),那么垄断就不那么容易了。我们程序员也能得到更大的自由,册那,那是多么大的自由啊。我还能记得当我学会用vba控制ms office的喜悦。我用更大的喜悦期盼着这个world of resources。

如果从这个角度来理解CRUD的意义,是不是就简单一些了?再读一下Nested Resource的描述和定义。然后闭上眼睛想一想MFC,MSO(office库)或者你用过的任何API,他们是不都是resource或者nested resource的crud啊?操作系统都是crud接口的,什么不能呢?也许,你的某一个应用crud的不顺,我也不鼓吹所有的都要crud。人家说crud很伟大,为什么?要从world of resource来理解。

顺便说一句,vba是ms最好的macro语言。无疑,ruby是internet最好的macro语言。

REST的意义在于:

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号