亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

應用Rails進行REST 開發(一)

系統 1543 0

前言
??? ??? Http協議除了 get 和 post ,還可以做更多的事情,一直以來,很多的開發
人員都忘了這一點。

??? ??? 但是,如果你知道瀏覽器其實只支持 get 和 post, 那么你就不會感到驚奇
了。

??? ??? get 和 post 是http請求從客戶端傳到服務器端的兩個方法。除了這兩個,
http協議還知道 put和delete 方法,這兩個方法告訴服務器創建或者刪除一個
WEB的資源。

??? ??? 這個教程的目的,就是擴展開發人員的視線,去了解http協議的 put 和
delete 方法。我們常說的 REST 這個術語,精華就是 http 協議中 get, post,
put, delete 四個方法。Rails 從1.2版本開始,就支持 REST 這個技術了。
這個教程一開始會簡短的介紹REST的背景和概念,接著介紹為什么要開發
REST風格的Rails應用。

??? ??? 使用 scaffolding,這是可以幫助我們產生 controller 和 model 細節的工
具,對我們的進行REST應用的開發很有幫助。REST的應用中作用非常重大的路由
技術,將會在接下來的章節介紹。“嵌套的資源”這個章節,會介紹一下REST的
高級應用,告訴大家資源如何以 父 - 子(繼承關系)的關系組合在一起,同時不
違反的REST 風格的路由設計。教程的后面,還會介紹一些REST的內容,AJAX,
REST風格的應用的測試方法,還有“ActiveResource”-- REST的客戶端部分。

??? ??? 在我們開始之前,再啰嗦最后一句:要讀這個教程,最少你要懂一點Rails開
發的基本知識,否則的話,先去學習學習吧:)
什么是REST?

??? ??? REST這個術語,是Roy Fielding 在Ph.D.論文中提出來的,它的全稱是
“Representational State Transfer.”

??? ??? REST描述了這么一個架構:利用標準的http 協議中的 get, post, put,
delete 來請求和操作網絡上的資源。

??? ??? 在REST中,資源的意思就是一個 基于URL實體,客戶端可以通過 http協
議來和它進行交互。這個資源可以用各種形式來展示給客戶端,如 HTML,XML,
RSS,主要依賴于客戶端的調用方式。并不像以往的Rails開發那樣,用REST方
式,一個 url 不是指定一個 model 或者 action, 一個 url 僅僅是資源的本身而
已。

??? ??? 在圖1.1中,三個資源的URL的開頭都是相同的,通過后面的不同的數字
來保證這三個是不同的資源。

??? ??? 注意:URL并沒有表明要對這三個資源進行什么操作。

??? ??? Rails 應用中,一個資源是由 controller 和 model 組成的。那么從
技術的角度來看,圖 1.1中的3個資源"project",就是針對3個請求,而表現出
來的 Project model(也就是ActiveRecord類了)的3個實例形式。

為什么使用REST

??? ??? REST所帶給我們的,是Rails 的理論上的提升,下面的一些特性,將會使
我們清晰地了解這一點。

??? ??? a) 簡明的Url. REST 風格的URL是為了定位一個資源,而并不是調用一
個action. 在REST中,URL經常以這種方式出現:先是controller的名稱,然后
是資源的id。請求的操作隱藏在URL 里,并且通過 http 協議來表示(get, post,
put, delete 四個動作)。

??? ??? b) 傳回給客戶端不同格式的內容。我們通過一種方式來編寫 controller,
其中的action應該都可以返回給客戶端不同的格式的結果。對于同一個 action,
即可以返回給客戶端 html, 也可以返回給xml,也可以返回給 RSS,這依賴于客戶
端想要什么。REST應用就好像變得能處理客戶端好多的命令。

??? ??? c) 更少的代碼。因為一個action 可以返回客戶端的各種需要格式,這就
減少了(DRY don’t repeat yourself),這也就讓 controller 里的代碼減少了。

??? ??? d) 面向 CRUD 的controller. 所謂CRUD 就是Create,Retrieve,Update,Delete.
controller 和 model 融合到一起,每個controller都會響應某個
model的操作。

??? ??? e) 讓系統設計更簡單。REST風格的開發方式,會使系統結構更加清晰,而
且容易維護。為什么使用REST?

新玩意
??? ??? 如果你覺得 REST 讓你之前所有的開發經驗變得毫無作用,別擔心,那是
不可能的~ 因為REST仍然是基于 MVC 風格的。從技術角度來看,REST中的“新
玩意”可以歸納為以下幾點:

??? ??? a) 在 controller 中的 respond_to 的用法。

??? ??? b) 對于 link 和 form 的新的 helper 方法。

??? ??? c) 在 controller redirect 中的 url 方法。

??? ??? d) 在 routes.rb 文件中,新的路由定義方法。

好了,今天就到這了,明天以實例說明。

?

應用Rails進行REST 開發(一)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日韩精品一区二区三区中文字幕 | 色吧色吧色吧网 | 欧美丰满大乳大屁股毛片 | 婷婷色中文 | 天天怕夜夜怕狠狠怕 | 五月色婷婷亚洲精品 | 亚洲成人网在线播放 | 亚洲依人 | 粗大猛烈进出呻吟声的视频 | 波多野结衣 久久 | 国产伦精品一区二区三区视频小说 | 色域综合 | 亚洲国产精品一区二区第四页 | 欧美一区日韩一区中文字幕页 | 亚洲va在线va天堂va手机 | 久久精品国产91久久麻豆自制 | 久久香蕉精品成人 | 99爱在线精品视频网站 | 亚洲欧美综合国产不卡 | 香蕉爱爱网| 国产精品99久久久久久www | 一级毛片在线看在线播放 | 99热精品成人免费观看 | 夜夜夜爽| 国产香蕉在线精彩视频 | 99在线观看视频免费 | 久久伊人免费 | 久久r这里只有精品 | 亚洲欧美国产精品 | 国产一级片子 | 色综合一区二区三区 | 欧美精品午夜 | 在线播放五十路乱中文 | 亚洲国产99在线精品一区二区 | 奇米4色| 一级成人毛片免费观看 | www.五月天婷婷 | 毛片大全 | 黄色片网站在线免费观看 | 久草国产视频 | 天天操天天干天天爱 |