看Rails2怎么贯彻REST思想的

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


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

你可能感兴趣的:(xml,Web,REST,SOAP,ActiveRecord)