首先用ruby script/generate migration create_table_friends创建一个migration文件,
写入以下代码:
- class
CreateTableFriends < ActiveRecord::Migration
- def
self
.up
- create_table :friends
do
|t
|
- t.column :first_name
,
:string
- t.column :last_name
,
:string
- t.column :phone
,
:string
,
:limit
=>12
- t.column :email
,
:string
- end
- end
-
- def
self
.down
- drop_table :friends
-
- end
- end
运行: rake migrate
生成相应的数据表friends
利用ruby script/generate scaffold friends生成一个支架,可以通过:http://127.0.0.13000添入几条测试数据。
修改控制器中的list代码:
ruby 代码
- def
list
-
- @friends
=Friend.find(
:all
)
- respond_to do
|wants
|
- wants.html
- wants.js
- wants.xml{render :xml
=>
@friends
.to_xml}
- end
- end
这个时候我们可以在浏览器中输入:http://127.0.0.1:3000/friends/list/index.xml 你就可以查看到相应的数据信息,它是以xml形式显示的。
这样我们就完成了简单的一个相当于服务器端的功能,接下来我们就要来实现我们的客户端,我们可以直接通过ruby代码来调用,也可以再建一个rails应用来调用。我们分别给出:
1.
ruby 代码
- require 'net/http'
-
- Net::HTTP.start('localhost', 3000) do
|http
|
- response = http.get('/friends/list', 'Accept' => 'text/xml')
-
-
-
- puts "Code: #{response.code}"
- puts "Message: #{response.message}"
- puts "Body:\n #{response.body}"
- end
运行以后输出的结果是:
- Code: 200
- Message: OK
- Body:
- <?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
- <
friends
>
- <
friend
>
- <
email
>
mloki@124.com
</
email
>
- <
first-name
>
马
</
first-name
>
- <
id
type
=
"integer"
>
3
</
id
>
- <
last-name
>
理军
</
last-name
>
- <
phone
>
0511-8791837
</
phone
>
- </
friend
>
- </
friends
>
我们可以看到中文字条无法显示。
2.
在model中建立两个rb文件:
friends_resource.rb
- class
FriendsResource < ActiveResource::Base
- self
.site = 'http://localhost:3000'
- end
friend.rb
ruby 代码
- class
Friend < FriendsResource
- self
.site += '/friends/list'
- end
通过ruby script/generate controller getrest生成一个控制器,其中写一个index函数,实现如下:
ruby 代码
- def
index
- @f
=Friend.find(
:all
)
- end
建立相应的template文件,通过iterate我们就就可以把这个列表中所有的friend的相应属性输出。
注:论坛里好多同学说中文问题,其实只要做以下几件事,就可以很好的解决中文问题:
- 在创建数据库的时候,设定其编码为:utf-general-ci
- 在datatbase.yaml中设定:encoding: utf8
- 最后一点就是把编辑器的编码改为utf-8就可以了(我用的是eclipse,可以实现这个功能的)
我希望坛子上的高手来实现用客户端删除、更改和创建friend。
分享到:
- 2007-01-23 20:57
- 浏览 5942
- 评论(4)
- 论坛回复 / 浏览 (4 / 9102)
- 查看更多
相关推荐
Spring3.0 rest 实例,实现rest风格的访问
cpprest实例工程,基础测试cpprest的使用,主要包括文件数据拉取
java rest简单实例,新手入门,架包完善丰富。本地导入即可运行
REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,...
经典接口 测试案例 案例 类似 Postman 客户端测试工具,单着是JAVA版携带源码。更好针对解决JAVA调用接口的测试实例。希望能够喜欢
kettle rest 接口 请求实例,rest client 登陆,获取解释token,保存token,批量、单个请求接口,json交互
该实例展示了 spring3 REST 的使用方法,以及同一种内容,多种不同方式展示的实现,例如同一 User 信息,可以展示为:xml,json,html三种不同的格式。可以参考这篇文章:http://badqiu.javaeye.com/blog/552806
自己写的小例子,部署以后就能运行,包涵七种默认action方法,适合新人入门,高手不必下载了
本例为代码实例,共有三个实例,请导入myeclipse后,先启动server端,再启动client端,server端只需启动一次。
rest架构风格,web实例、rest架构风格,web实例
使用Spring MVC3基于注解的形式实现的REST小例子 部署运行: 1. 将工程导入eclipse 2. 添加tomcat属性 工程(右键)——> tomcat project——> update context 3. 启动tomcat 4. 在浏览器中输入...
REST入门知识及实例开发,涵盖REST设计原则,资源识别方法,在Jersey下开发RESTful webservice实现转账业务,包括服务端,客户端源码,详细阐述HTTP的4个请求方法(GET,POST,PUT,DELETE)在REST中的应用,使你...
官方app应用示例,包含基本action,下载后import工程,参照lib目录下图片中包含的jar包导入部署即可运行。
为了让读者对REST在WCF中的应用有一个大致的了解,我们先来进行一个简单的实例演示。[源代码从这里下载] 微软在WCF3.5中就通过提供基于WebHTTP的编程模式使我们很容易地创建基于REST的服务,WCF4.0中对此进行了较...
Spring3MVC-REST-HelloWorld 实例简单代码
com.rest.restlet.RestJaxRsServer 服务启动类 com.rest.restlet.client.Client 客户端调用类 eclipse项目直接使用。
本人在前辈《从MVC到前后端分离(REST-个人也认为是目前比较流行和比较好的方式)》一文的基础上,实现了一个基于Spring的符合REST风格的完整Demo,具有MVC分层结构并实现前后端分离,该项目体现了一个具有REST风格...
这里详细介绍了rest开发所需jar包,以及基本流程。还有对代码的介绍,可以看看!
NULL 博文链接:https://dbh0512.iteye.com/blog/1852733
安装 REST 插件非常简单,只需按如下步骤进行即可: 将 Struts 2 项目下 struts2-convention-plugin-2.1.6.jar、struts2-rest-plugin-2.1.6.jar 两个 JAR 包复制到 Web 应用的 WEB-INF/lib 路径下。 由于 Struts 2 ...