REST on Rails指南5: respond_to 2008-04-13 04:00:53
这是来自http://www.softiesonrails.com的REST简明指南 ,中文来源:letrails.cn。
通过上一讲,我们已经对REST on Rails的基本框架有所了解,但是它是如何实现根据客户端的请求类型来返回不同类型的资源表示的呢?这就是我们这一讲所要讲的,秘密就在于respond_to。
通过上一讲,我们已经对REST on Rails的基本框架有所了解,但是它是如何实现根据客户端的请求类型来返回不同类型的资源表示的呢?这就是我们这一讲所要讲的,秘密就在于respond_to。
通过上一讲我们了解到,RESTful设计的关键就是定义系统中的资源,这一讲我们将学习在Rails中,如何将请求路由到我们的资源,以及我们应该如何来处理它。
不过,有一点需要先说明:REST并不是Rails的一部分,在Rails出现之前,REST的概念已经存在很多年了,并且REST的应用也并不局限于Web,事实上,它也可以应用到其它各种应用软件的开发中。
通过上一讲,我们明白了为什么Web需要按照REST的方式来设计,而不是传统的面向对象编程的RPC方式,这一讲我们将通过一个实例来演示如何进行REST方式的Web设计,也就是让我们的设计变的RESTful。
PART I
在理解REST on Rails之前,有必要先思考一下这个问题:浏览器是如何工作的?在开始使用Rails构建一个网站之前,我对这个问题是这么认为的:
就这么多,我甚至不知道Form是如何工作的,我觉得它跟点击链接没什么不同。
但在现实世界里,HTTP协议有很严格的指令用于定义浏览器应该如何向服务器发送请求,HTTP同HTML完全是两码事,HTML只不过是一种用于表现页 面内容的标记语言(Markup Language),而HTTP协议则允许浏览器从服务器获取各种类型的数据,HTML只是其中之一。事实上,HTTP协议定义了8中不同类型的请求,尽 管如此,我们最熟悉的可能还是下面两种:
通过上一讲,我认为你树立了这个概念:即Web其实是一组资源而不是网页的集合(如果你还不这么认为,那请你先返回再次阅读第一讲)。这一讲我们将从另一个侧面来讲解为什么要有REST?
这编论文可谓时Rest的开山之做,所以不得不拜读,所以也做个转贴
============================
摘要:
Roy Thomas Fielding博士关于REST的论文绝负盛名,被称为Web架构设计领域的”圣经”。日前,由ajaxcn.org社区、91yee 翻译社区、Matrix社区联合参与完成了对该论文的中文化工作,并且在完成翻译校对工作后获得了Fielding博士的官方许可,正式发布在满江红开源网站的OpenDoc系列文档中,大家可以从其网站下载。
Roy Thomas Fielding博士的论文:《Architectural Styles andthe Design of Network-based Software Architectures》绝负盛名,被称为Web架构设计领域的”圣经”。 阅读全文…