欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

應(yīng)用Rails進(jìn)行REST 開(kāi)發(fā)(一)

系統(tǒng) 1611 0

前言
??? ??? Http協(xié)議除了 get 和 post ,還可以做更多的事情,一直以來(lái),很多的開(kāi)發(fā)
人員都忘了這一點(diǎn)。

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

??? ??? get 和 post 是http請(qǐng)求從客戶端傳到服務(wù)器端的兩個(gè)方法。除了這兩個(gè),
http協(xié)議還知道 put和delete 方法,這兩個(gè)方法告訴服務(wù)器創(chuàng)建或者刪除一個(gè)
WEB的資源。

??? ??? 這個(gè)教程的目的,就是擴(kuò)展開(kāi)發(fā)人員的視線,去了解http協(xié)議的 put 和
delete 方法。我們常說(shuō)的 REST 這個(gè)術(shù)語(yǔ),精華就是 http 協(xié)議中 get, post,
put, delete 四個(gè)方法。Rails 從1.2版本開(kāi)始,就支持 REST 這個(gè)技術(shù)了。
這個(gè)教程一開(kāi)始會(huì)簡(jiǎn)短的介紹REST的背景和概念,接著介紹為什么要開(kāi)發(fā)
REST風(fēng)格的Rails應(yīng)用。

??? ??? 使用 scaffolding,這是可以幫助我們產(chǎn)生 controller 和 model 細(xì)節(jié)的工
具,對(duì)我們的進(jìn)行REST應(yīng)用的開(kāi)發(fā)很有幫助。REST的應(yīng)用中作用非常重大的路由
技術(shù),將會(huì)在接下來(lái)的章節(jié)介紹。“嵌套的資源”這個(gè)章節(jié),會(huì)介紹一下REST的
高級(jí)應(yīng)用,告訴大家資源如何以 父 - 子(繼承關(guān)系)的關(guān)系組合在一起,同時(shí)不
違反的REST 風(fēng)格的路由設(shè)計(jì)。教程的后面,還會(huì)介紹一些REST的內(nèi)容,AJAX,
REST風(fēng)格的應(yīng)用的測(cè)試方法,還有“ActiveResource”-- REST的客戶端部分。

??? ??? 在我們開(kāi)始之前,再啰嗦最后一句:要讀這個(gè)教程,最少你要懂一點(diǎn)Rails開(kāi)
發(fā)的基本知識(shí),否則的話,先去學(xué)習(xí)學(xué)習(xí)吧:)
什么是REST?

??? ??? REST這個(gè)術(shù)語(yǔ),是Roy Fielding 在Ph.D.論文中提出來(lái)的,它的全稱是
“Representational State Transfer.”

??? ??? REST描述了這么一個(gè)架構(gòu):利用標(biāo)準(zhǔn)的http 協(xié)議中的 get, post, put,
delete 來(lái)請(qǐng)求和操作網(wǎng)絡(luò)上的資源。

??? ??? 在REST中,資源的意思就是一個(gè) 基于URL實(shí)體,客戶端可以通過(guò) http協(xié)
議來(lái)和它進(jìn)行交互。這個(gè)資源可以用各種形式來(lái)展示給客戶端,如 HTML,XML,
RSS,主要依賴于客戶端的調(diào)用方式。并不像以往的Rails開(kāi)發(fā)那樣,用REST方
式,一個(gè) url 不是指定一個(gè) model 或者 action, 一個(gè) url 僅僅是資源的本身而
已。

??? ??? 在圖1.1中,三個(gè)資源的URL的開(kāi)頭都是相同的,通過(guò)后面的不同的數(shù)字
來(lái)保證這三個(gè)是不同的資源。

??? ??? 注意:URL并沒(méi)有表明要對(duì)這三個(gè)資源進(jìn)行什么操作。

??? ??? Rails 應(yīng)用中,一個(gè)資源是由 controller 和 model 組成的。那么從
技術(shù)的角度來(lái)看,圖 1.1中的3個(gè)資源"project",就是針對(duì)3個(gè)請(qǐng)求,而表現(xiàn)出
來(lái)的 Project model(也就是ActiveRecord類了)的3個(gè)實(shí)例形式。

為什么使用REST

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

??? ??? a) 簡(jiǎn)明的Url. REST 風(fēng)格的URL是為了定位一個(gè)資源,而并不是調(diào)用一
個(gè)action. 在REST中,URL經(jīng)常以這種方式出現(xiàn):先是controller的名稱,然后
是資源的id。請(qǐng)求的操作隱藏在URL 里,并且通過(guò) http 協(xié)議來(lái)表示(get, post,
put, delete 四個(gè)動(dòng)作)。

??? ??? b) 傳回給客戶端不同格式的內(nèi)容。我們通過(guò)一種方式來(lái)編寫(xiě) controller,
其中的action應(yīng)該都可以返回給客戶端不同的格式的結(jié)果。對(duì)于同一個(gè) action,
即可以返回給客戶端 html, 也可以返回給xml,也可以返回給 RSS,這依賴于客戶
端想要什么。REST應(yīng)用就好像變得能處理客戶端好多的命令。

??? ??? c) 更少的代碼。因?yàn)橐粋€(gè)action 可以返回客戶端的各種需要格式,這就
減少了(DRY don’t repeat yourself),這也就讓 controller 里的代碼減少了。

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

??? ??? e) 讓系統(tǒng)設(shè)計(jì)更簡(jiǎn)單。REST風(fēng)格的開(kāi)發(fā)方式,會(huì)使系統(tǒng)結(jié)構(gòu)更加清晰,而
且容易維護(hù)。為什么使用REST?

新玩意
??? ??? 如果你覺(jué)得 REST 讓你之前所有的開(kāi)發(fā)經(jīng)驗(yàn)變得毫無(wú)作用,別擔(dān)心,那是
不可能的~ 因?yàn)镽EST仍然是基于 MVC 風(fēng)格的。從技術(shù)角度來(lái)看,REST中的“新
玩意”可以歸納為以下幾點(diǎn):

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

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

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

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

好了,今天就到這了,明天以實(shí)例說(shuō)明。

?

應(yīng)用Rails進(jìn)行REST 開(kāi)發(fā)(一)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 91精品国产免费久久久久久 | 一级视频在线 | 国产亚洲精品精品国产亚洲综合 | 成人在线免费看 | 任你操免费视频 | 538prom国产在线视频一区 | 国产美女在线精品观看 | 亚洲精品久久久久久一区 | 麻豆changesxxx国产 | 亚洲欧美一区二区三区久本道 | 本道综合精品 | 精久久久久| 国产成人一区二区三区 | 久久精品国产久精国产 | 天天影视欧美 | 欧美乱操 | 日本最新中文字幕 | 色综色天天综合网 | 欧美日韩不卡合集视频 | 五月婷婷之综合激情 | 三级成人在线 | 久久人人爽人人爽 | 午夜寂寞少妇aaa片毛片 | 日本aⅴ在线观看 | 婷婷色综合 | 亚洲日本乱码在线观看 | 美女羞羞网站妖精视频 | 天天射天天添 | 网红和老师啪啪对白清晰 | 日本草草影院 | 搞黄视频在线观看 | 国产综合亚洲精品一区二 | 亚洲毛片大全 | 亚洲天堂一区二区三区 | 国产美女福利视频福利 | 波多野结衣一区二区三区88 | 欧美淫视频 | 精品国产一区二区在线 | 国产成人一区二区三区 | 亚洲电影免费观看高清完整版在线观 | 欧美精品一区二区在线观看 |