一個簡單的REST例項
首先用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
- 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程式碼:
- def
list
- #@friends_pages, @friends = paginate :friends, :per_page => 10
- @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.
- require 'net/http'
- Net::HTTP.start('localhost', 3000) 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
執行以後輸出的結果是:
- Code: 200
- Message: OK
- Body:
- <? xml version = "1.0" encoding = "UTF-8" ?>
- < friends >
- < friend >
- < email > [email protected] </ 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函式,實現如下:
- def index
- @f =Friend.find( :all )
- end
建立相應的template檔案,通過iterate我們就就可以把這個列表中所有的friend的相應屬性輸出。
注:論壇裡好多同學說中文問題,其實只要做以下幾件事,就可以很好的解決中文問題:
- 在建立資料庫的時候,設定其編碼為:utf-general-ci
- 在datatbase.yaml中設定:encoding: utf8
- 最後一點就是把編輯器的編碼改為utf-8就可以了(我用的是eclipse,可以實現這個功能的)
我希望罈子上的高手來實現用客戶端刪除、更改和建立friend。
相關推薦
一個簡單的例項Loan類的實現和測試
import java.util.Scanner; public class TestLoanClass { public static void main(String[] args) { // TODO 自動生
建立一個簡單spring例項,spring單例與多例,初始化與銷燬
(1)在配置完spring提示框架後(上一遍文章有介紹),首先建立一個專案,匯入sprig所需的jar包然後書寫主配置檔案applicationContext.<?xml version="1.0" encoding="UTF-8"?> <beans xml
Java子執行緒和主執行緒交替輸出(一個簡單的例項)
實現主執行緒和子執行緒的交替輸出列印,首先建立一個實現執行緒方法的Service public class Service { private volatile boolean flag = false; //這是一個控制sub和mian的開關,加關鍵字volatil
freemark一個簡單的例項
學習網址:http://www.freemarker.org/docs/index.html //官方網站線上文件http://www.sunjava.cn/FreeMarker.htm //其它資料以下附件是一個freemark與struts1的一個簡單案例子,
從一個簡單的例項來了解PE檔案
文中RegisterMe及原視訊下載地址:http://pan.baidu.com/s/1bnqOgnt開啟這個RegisterMe.exe程式,會出現如下煩人的訊息框 引入 目標:去掉煩人的訊息框 工具:Ollydbg 轉載原文:http://www.freebuf
一個簡單的例項來聊聊什麼是Restful介面
Restful介面的簡介 通過學習本文件後能夠掌握到的知識點 1.Restful的基本概念 2.Restful原則條件 3.Restful分層系統 子曰:“學而不思則罔,思而不學則殆。” 1. 使用Restful的原因 2018元月第一份
一個簡單Dubbo例項
作為一個分散式框架Dubbo在專案中使用逐步越來越多,通過該框架很容易實現分散式,之前已經寫了一個大致步驟,今天有時間就整理一下,寫一個完整的例項作為記錄一下過程,在專案進行之前,首先下載並搭建maven服務,建立maven本地倉庫,然後在eclipse中配置maven,步驟
一個簡單的REST例項
首先用ruby script/generate migration create_table_friends建立一個migration檔案, 寫入以下程式碼: class CreateTableFriends < ActiveRecord::Migration
用 C# 實現一個簡單的 Rest Service 供外部調用
message [] operation rem adk www span method title 用 C# 實現一個簡單的 Restful Service 供外部調用,大體總結為4點: The service contract (the methods it o
學習 WebService 第三步:一個簡單的實例(SoapUI測試REST項目)
方法 資源 ima .com required tle margin 導出 ont 原文地址:SOAPUI測試REST項目(六)——REST服務和WADL ↑↑↑ 原文用的SoapUI,2018-3-19時,這個軟件已經更名為ReadyAPI(集成了SoapUI),因此下文
一、一個簡單的socket通訊例項(TCP)
1.服務端程式碼 import java.io.*; import java.net.ServerSocket; import java.net.Socket; /** * 類功能描述:先啟動伺服器端,再啟動客戶端 * * @author:*** * @creat
關於Java中timer的一個簡單例項應用
效果展示 核心程式碼: Timer timer = new Timer();//新增定時器 timer.schedule( new TimerTask(){//重寫定時任務 public void run(){ button2.setText("取消"+S
GUI使用者介面的一個簡單例項
這篇部落格寫得比較趕,就不贅述了。 內含有設定框架,面板,按鈕怎麼嵌在一起,插入圖片,設定字型和顏色,前景色背景色,位置等。重點在實現功能,介面並不美觀。 私以為,這麼多個東西怎麼看呢?就應該把一些行註釋掉就知道怎麼看了。 image是在src下面的資料夾 package gui; im
繼承與多型的一個簡單例項
程式結構: 父為Person類,Person類個子類Student和Employee,Employee類又有兩個子類,Staff和Faculty。 繼承即子類可以繼承父類的資料域和方法: Student類和Employee類繼承了Person類的資料域name,address pho
一個簡單Python爬蟲例項(爬取的是前程無憂網的部分招聘資訊)
從今天開始學習爬蟲,展示我的第一個例項(用的是Python3寫的,Python2需要加個編碼方式吧,或許還有其他的不相容的地方吧,我就不知道了),把這分享給大家,希望對大家有一些幫助 import urllib,re import urllib.request import xlwt #開啟網頁
typescript-koa-postgresql 實現一個簡單的rest風格服務器 —— typescript 開發環境配置
cit yarn 文件 pos serve 代碼 esc 服務 run 最近需要用 nodeJS 寫一個後臺程序,為了能夠獲得 IDE 的更多代碼提示,決定用 typescript 來編寫,隨便也學習下 ts,在這記錄下實現過程。 1、新建文件夾 typescript-ko
typescript-koa-postgresql 實現一個簡單的rest風格伺服器 —— 整合 koa
接上文 1、安裝 koa yarn add koa koa-router koa-static yarn add @types/koa @types/koa-router @types/koa-static --dev 2、修改 server.ts 1 /* 2 *
typescript-koa-postgresql 實現一個簡單的rest風格服務器 —— 連接 postgresql 數據庫
don nds key num ole HERE prim mage 時間 接上一篇,這裏使用 sequelize 來連接 postgresql 數據庫 1、安裝 sequelize,數據庫驅動 pg yarn add sequelize sequelize-typesc
typescript-koa-postgresql 實現一個簡單的rest風格伺服器 —— 連線 postgresql 資料庫
接上一篇,這裡使用 sequelize 來連線 postgresql 資料庫 1、安裝 sequelize,資料庫驅動 pg yarn add sequelize sequelize-typescript pg reflect-metadata 2、新建配置資料夾
Ajax實現區域性資料互動的一個簡單例項
想要實現的功能:利用Ajax技術通過點選一個<button>按鈕,然後在指定的文字框中輸出想要的值。 1、使用Jsp建立一個前端頁面。 1 <body> 2 <div style="text-align: center;"> 3 <