Rails 1.2发布,其中最受瞩目的就是REST(Representational State Transfer)。
Rails REST特性可以让Web服务技术用平台独立或编程语言独立的方式相互通信,各个不同应用程序之间的远程过程调用从来都是相当麻烦,今天试用了一下REST,相比SOAP 和 WSDL 的确非常简洁好用。现在能够领会DHH在Rails的演讲中说的:“我不认为Rails应该向外部世界屈服,恰恰相反,Rails正在有力地让外部世界向我们屈服。”这是狂,不过DHH也有资格狂!
下面开始试用REST.
1.建一个friends的表(不废话mysql内容)
2.运行ruby script/generate scaffold friends,生成脚手架代码(不废话rails开发最基本的东东)
3.修改friends list函数改为:
def list
@friends = Friends.find_all
respond_to do |wants|
wants.html
wants.xml { render : xml => @friends.to_xml }
end
respond_to接受wants请求,根据不同请求返回结果
4.输入测试代码。test.rb
require 'net/http'
Net::HTTP.start('localhost', 3001) do |http|
response = http.get('/friends/list', 'Accept' => 'text/xml')
#Do something with the response.
puts "Code: #{response.code}"
puts "Message: #{response.message}"
puts "Body:\n #{response.body}"
end
注意Accept的定义是'text/xml',Rails将根据请求将xml发送给用户,缺省是rhtml的缺省显示。
5.运行ruby test.rb
就得到XML结果。REST继承Rails的风格,世界如此简单!
Rails 路由器根据 URL 模式把请求路由给控制器,
比如friends表的list查询就是http://localhost:3001/friends/list把list操作发送给通过控制器friends,得到结果。直接用TCP/IP 命名就可以定位资源。
用 HTTP 查询和操纵这些资源,Rails根据不同的HTTP ACCEPT头部来判断用户需要的数据,在控制器friends内,list可以根据不同的请求返回对应的结果。
使用基于文本的标准消息格式(例如 XML 或 HTML)来构造数据,Rails用一个to_xml来构造XML数据。
可以通过curl来熟悉HTTP,一般Unix系统都自带curl,文后我附带了一个curl widnows版本的程序,或者去http://curl.haxx.se/下载一个相应版本的。
参考经典REST文章:
http://www-128.ibm.com/developerworks/cn/java/j-cb08016/index.html
分享到:
- 2006-12-13 14:36
- 浏览 8010
- 评论(5)
- 论坛回复 / 浏览 (0 / 12320)
- 查看更多
相关推荐
应用Rails进行REST开发.pdf Restful Rails Development
使用Rails构建可伸缩和可维护API的最佳方法
使用rails编写REST风格的web应用,这是robbin演讲的东东,共享给大家
Ruby on Rails是一个突然流行...本文介绍Rails中的Web服务,重点放在一个名为Representational State Transfer (REST)的策略上。本文介绍了如何在Ruby on Rails中添加REST风格的Web服务,并从Ruby和Java代码调用服务。
adminlte-rails, AdminLTE Rails gem 将AdminLTE主题与 Rails 资产管道集成 AdminLTE Rails gem AdminLTE 是后端的高级 Bootstrap 主题。英镑 AdminLTE Rails gem 与 Rails 资产管道集成了英镑AdminLTE主题。安装将...
使用rails编写REST风格的web应用.pdf
《Rails之道》按照Rails的各个子系统进行组织编排,分别介绍了Rails的环境、初始过程、配置和日志记录,Rails的分配器、控制器、页面生成和路由,REST、资源和Rails,ActiveRecord的基础、关联、验证和高级技巧,...
jsgrid-rails 带有Ruby on Rails REST服务的jsgrid的示例项目
Rails Rest Vote是一个Ruby Gem,可为任何模型的Rails应用程序添加投票功能,并公开其RESTful API。 如果您在Web应用程序中以及移动应用程序中使用了诸如angular2之类的任何前端客户端,那将非常有帮助。 先决条件...
rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails ...
应用Rails进行REST 开发 ,翻译自《RESTful Rails Development》
[Pragmatic Bookshelf] Crafting Rails Applications Expert Practices for Everyday Rails Development (E-Book) ☆ 图书概要:☆ Rails 3 is a huge step forward. You can now easily extend the framework, ...
Ruby on Rails Guides v2 - Ruby on Rails 4.2.5
《Ruby on Rails Tutorial》中文版(原书第2版,涵盖 Rails 4) Ruby 是一门很美的计算机语言,其设计原则就是“让编程人员快乐”。David Heinemeier Hansson 就是看重了这一点,才在开发 Rails 框架时选择了 Ruby...
一个用Ruby on Rails搭建的图片分享的网站项目.完整源代码
那么 rails railsrailsrails会自动把该数据表与 会自动把该数据表与 其模型类进行关联。 REST 是 WEBWEB 应用的最佳模式 应用的最佳模式 - 用 resourcesresourcesresourcesresourcesresourcesresources resources...
第二部分和第三部分与 Rails紧密联系,着重对Ruby这门语言进行详细介绍;所采用的Rails应用示例,既说明了Ruby的特性,也给出了有关Rails的重要信息。第四部分讲述了如何应用第二部分和第三部分的Ruby知识来开发...
本资源是参照rails敏捷开发第四版书中的例子,rails的版本是rails3.2.6
Bootstrap 3 和 Rails 4(样例用的是Ruby 2.1.1,Rails 4.1.4) Table of Contents Preface 1 Chapter 1: Introducing Web Application Development in Rails 7 Why Bootstrap with Rails? 8 Setting up a Todo ...