看Rails2怎么贯彻REST思想的

[url]http://www.letrails.cn/archives/07-11-23-rails20-features[/url]


Rails2.0最大的变化莫过于增加了ActiveResource,而去除了Action Web Services(有了REST,SOAP就显得很多余了),用实际行动为REST在与SOAP的竞争中投了一票。

你 可以将ActiveResource理解为远程的ActiveRecord,也就是说不同于 ActiveRecord 操作存储在本地数据库中的对象,ActiveResource 操作的是存储于远端服务器上的对象,我们假设Person是一个ActiveResource类:

Person = ActiveResource::Struct.new do |person|
person.uri = "http://api.example.com/people"
end
Person.find(1).name #=> "Ryan"


那 么上面这句话将向http://api.example.com/people/1发送了一个GET请求,并通过得到的响应构建了一个本地Person对 象,你可以像操作其它对象一样来操作这个ActiveResource对象,只不过你对这个对象的CRUD操作都被转化为了相应的HTTP请求,交由远端 的服务器来处理,并且这一转换是完全完全遵照REST规范的:

find(id)将被转化为针对http://api.example.com/people/id.xml的GET请求
新建对象的save操作将执行 POST http://api.example.com/people
已有对象的save则执行 PUT http://api.example.com/people/id.xml
destroy则将执行 DELETE http://api.example.com/people/id.xml
list 则执行 GET http://api.example.com/people
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值