欧美三区_成人在线免费观看视频_欧美极品少妇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)論
主站蜘蛛池模板: 久久久久国产成人精品亚洲午夜 | 综合第一页| 邪不压正免费观看完整高清视频 | 国产99久久精品一区二区 | 久久九九久精品国产 | 性欧美高清极品猛交 | 国产精品资源在线观看网站 | 日韩有码一区 | 天干夜天天夜天干天国产电影 | 欧美人妖channelsantini同性 | 五月激情六月 | 美国一级毛片片aaa 香蕉视频在线观看免费 | 亚洲国产伦理 | 韩漫重考生漫画画免费读漫画下拉式土豪漫 | 91精品国产综合久久福利 | 国产一级毛片夜一级毛片 | 草草线在成人免费视频 | 国外成人在线视频 | 99精品一区二区 | 久久精品亚洲 | 日韩你懂得 | 精品欧美一区二区在线观看 | 小明永久2015www永久免费观看 | 日色网站 | 久久精品亚洲成在人线av网址 | 亚洲第一网站 | 欧美18毛片| 男女午夜视频 | 国产精品一码二码三码在线 | 污污视频免费网站 | 加勒比AV一本大道香蕉大在线 | 欧美成人免费午夜全 | 国产亚洲欧美在线人成aaaa | 亚洲经典激情春色另类 | 亚洲视频 欧美视频 | 蜜桃视频在线观看www社区 | 亚洲视频在线视频 | 婷婷久久五月天 | 国产大片免费天天看 | 午夜性啪啪A片免费AAA毛片 | 成人久久免费视频 |