www.appflying.com,iPhone and iPad, top Apps, drop price.
‘REST’ 标签下的文章
20

RESTful的Rails开发,讲讲4Rails.cn的开发心得

2008年一月20日,星期日,下午 5:05 | 分类:default | 给我留言 |

这是一篇笔记。 最近的事情很多很不顺利,不过一切都会过去,并且重新走上 正规的。 前阵子在看《RESTful Web Services》,看得更加迷惑,毕竟是英文书,不太好理解。不过关于REST的理解还是整理了一下。 同时在写一个个人的项目,主要是在开发的过程中保持对编程的感觉(因为没有接到赚钱的项目),还有就是试用新的Rails2.0.2,以及对REST的重新理解。 这个个人的项目是http://4rails.cn,一个招聘信息发布和简历系统。由于目前是个人练习,所以功能上很主观,并未太考虑实用性。而且在正式美化界面前,它属于全人类。 开发4Rails有几个想法: 1、RESTful和ROA 2、Rails2.0.2下的RESTful 3、几个插件的使用 4、实现以前想过但是没做的想法 5、为另一个项目准备 随便写写: 1、RESTful和ROA I hold that everything in the Resource-Oriented Architecture is also RESTful. 在这篇文章里面,比较详细的介绍了REST的概念,但是,普遍的来说,很多文章 对REST的描述都是千篇一律的。那么,《RESTful Web Services》中如何来介绍REST的呢? 第四章《The Resource-Oriented Architecture》 中讲到:REST不是一个结构,而是一个标准[criteria],但是这里并不是在说“REST 结构”。而ROA(Resource-Oriented Architecture)才是一个结构,一个RESTful的结构。 在这里,“Oriented”再次出现在眼里,而它出现最多地方的便是“Object Oriented Programming”,计算机教科书里的翻译为“面向对象的程序设计”。那么根据同样的原则,来对ROA理解,可以叫做“面向资源的结构”。 那么Rails2.0.2里面,是如何来实现ROA的呢? 2、Rails2.0.2下的RESTful 在Rails1.2.x里面就在坚持着RESTful的风格,现在Rails2.0.2更加强调了ROA的结构,特别是在scaffold的生成和routes的设计上。不过,Rails并不是完全的REST,“RESTful”比较合适。而在目前的开发中,更多的是在遵循ROA,来设计“资源”。 在4Rails的这个系统中,资源包括:用户,招聘信息,用户关注的信息,简历,头像。 刚开始对REST感兴趣的时候,经常会想到的问题:“是不是网站的设计都要RESTful”,不。 REST讲究的是ROA的设计,是对网站资源的操作,而很多业务操作,如用户登陆,购买流程,统计结算等等,还是需要传统的设计。RESTful的优点是方便资源的利用。所以,再重新设计一个销售项目的时候,Rails做的是对网站资源和用户资源重新设计,这主要的改进是,对资源的表述更加准确。 比如以前喜欢把用户中心地址设计成”/u/1″,用户的销售商品列表就是”/goods”。 而现在统一的都是”/users/1″,和”/users/1/goods”,当然,这里面避免了的麻烦还很多。 里克:当然,id的使用并不是REST所提倡的,因为它不够直接,而且当id变化的时候(很容易造成变化,比如新老系统的数据整合的时候),就会造成一些问题。我倒是希望Rails能够用slug来代替id,就像wp的Post Slug,或者给出两个方案,默认用id,slug可选。这会成真吗? 有时候,xxx_id 并不一定代表model关系中的外键关联,它可能是一个判断标准。尤其在REST的view页面的时候。对于需要对其判断权限的访问者,这个id比其他的更重要。 3、插件 4Rails用到了4个插件: will_paginate:分页插件,很好用。 [...]

(阅读更多精彩内容...)
十二 04

关注:Rails上的Opensocial实现

2007年十二月4日,星期二,上午 11:11 | 分类:default | 给我留言(1 条留言) |

注:这是opensocial在google code上的视频,经常看可以锻炼下英语 什么是OpenSocial OpenSocial是一套API,具体说是由两种类型的API组成。第一种,REST 形式的API是向Social Network或其他遵循 该协议的应用,发送个人资料,好友,活动和persistence components[?]。第二种,Javascript API是以表单的形式实现第一种的REST应用。 Rails上的OpenSocial 本段译自Google’s OpenSocial with Ruby on Rails 根据OpenSocial documentation上的显示,目前OpenSocial开放了2中类型资源:people,一个用户的好友,和activities,这些好友的活动/行为。这种结构正好符合rails对集中资源的理解,在一个user Controller中,我们可以狠容易的得到用户的好友和他们的活动。 OpenSocial的API是按照REST结构设计,但是它并不完全符合Rails的观点,首先,通过URL访问资源的形式并不是Rails的标准形式。其次,它不包含format extension,这意味着你不能直接使用respond_to块。 但是上面两个问题可以通过在routes文件增加一组路由描述和增加一个自定义的mimetype来解决。 下面的路由规则是在描述如何在我们的user_controller中对应OpenSocial 中的people资源的。   # config/environment.rb Mime::Type.register "application/x-opensocial", :opensocial   # config/routes.rb map.opensocial_person ‘/feeds/people/:id’, :controller => ‘users’, \ :action => ‘show’, :format => ‘opensocial’,\ :conditions => {:method => :get}   map.opensocial_person ‘/feeds/people/:id’, :controller => [...]

(阅读更多精彩内容...)
  • 信息发布
macbook pro



关于 里克
里克:本名李玮,全职SOHO开发,技术咨询
邮件:hi@liwei.me
QQ:5175486
MSN:liwei78@live.com
05年开办公司,从事企业网站开发及维护,后从事社会化搜索引擎研发,08年底至今从事sns开发。近期专注Rails3,工作笔记整理及iphone开发学习。

狂爱Fm系列游戏。喜欢研究电影。关注IT新闻。写原创剧本和使用the movies拍摄短片,剪辑能力极强。美剧迷。狂热的英超曼城球迷。32岁的东北人。