国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

面向資源的RESTful Web應(yīng)用研究

2018-09-17 05:36楊力
科教導(dǎo)刊·電子版 2018年21期
關(guān)鍵詞:應(yīng)用設(shè)計(jì)

楊力

摘 要 在web技術(shù)的探索實(shí)踐基礎(chǔ)之上提出面向資源的RESTful Web應(yīng)用設(shè)計(jì)方案,從資源規(guī)劃、控制器設(shè)計(jì)以及模型建立等方面分析其實(shí)現(xiàn)原理,并且在Rails框架下提出RESTful Web應(yīng)用開(kāi)發(fā)步驟。本文主要分析面向資源的RESTful Web應(yīng)用,希望能夠?qū)ο嚓P(guān)人員起到參考性價(jià)值。

關(guān)鍵詞 面向資源 RESTful Web 應(yīng)用設(shè)計(jì)

中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A

現(xiàn)階段,基于RESTful Web已經(jīng)廣泛應(yīng)用在大部分領(lǐng)域當(dāng)中,某些大型企業(yè)能夠給予REST服務(wù)和web服務(wù),盡管各項(xiàng)服務(wù)使用了REST風(fēng)格,然而并沒(méi)有實(shí)現(xiàn)真正意義上的RESTful Web應(yīng)用。靜態(tài)網(wǎng)站整體呈現(xiàn)REST風(fēng)格,但是我國(guó)在網(wǎng)站基礎(chǔ)之上提供用戶動(dòng)態(tài)服務(wù)的RESTful Web應(yīng)用程序比較鮮見(jiàn)。

1使用Rails實(shí)現(xiàn)RESTful Web應(yīng)用的原理

現(xiàn)階段,Rails已經(jīng)全面基于REST,但是該框架無(wú)法對(duì)資源進(jìn)行直接定義,將web應(yīng)用功能劃分為若干個(gè)控制器,利用控制器暴露資源。因此一個(gè)控制器對(duì)應(yīng)一個(gè)資源,在Rails控制器當(dāng)中具備行為功能,能夠通過(guò)標(biāo)準(zhǔn)動(dòng)作操作資源的CRUD。設(shè)計(jì)控制器就能夠明確資源暴露和統(tǒng)一接口方法等。

在Rails文件當(dāng)中,使用map定義RESTful Web,主要是應(yīng)用資源路由。RESTful URI包括模型類(lèi)和控制器,在URI當(dāng)中不包含動(dòng)作,利用HTTP當(dāng)中的動(dòng)詞和組合形式能夠操作某個(gè)資源,其中Routes主要是將用戶請(qǐng)求路由輸送到制定方法,利用控制器能夠向Rails下發(fā)指令,使其將接收到的請(qǐng)求路由分給適宜的類(lèi)別,有效處理給定請(qǐng)求。如果Rails接收到HTTP請(qǐng)求,則會(huì)按照請(qǐng)求目標(biāo)的首個(gè)路徑變量將請(qǐng)求分配給控制器處理。

2基于Rails的RESTful Web應(yīng)用設(shè)計(jì)步驟

由于Rails能夠支持REST,因此在設(shè)計(jì)應(yīng)用程序時(shí)需要從資源角度出發(fā),合理規(guī)劃資源。將能夠抽象化的所有東西都定義為RESTful Web中,這樣能夠使所有URI表示特定資源,由各個(gè)資源共同組成系統(tǒng)。應(yīng)用URI對(duì)系統(tǒng)結(jié)構(gòu)進(jìn)行設(shè)計(jì),這樣才能夠更好地設(shè)計(jì)RESTful Web應(yīng)用?;赗ails的RESTful Web應(yīng)用設(shè)計(jì)步驟如下:規(guī)劃數(shù)據(jù)集——建立模型——設(shè)計(jì)控制器(將數(shù)據(jù)集分配到各控制器當(dāng)中,定義資源URI,之后按照系統(tǒng)功能建立資源)——路由(在route當(dāng)中利用map配置REST路由,針對(duì)嵌套資源來(lái)說(shuō),Rails能夠提供路由定義)——設(shè)計(jì)視圖(Rails視圖主要是利用ERb模板進(jìn)行定義,因此在視圖當(dāng)中需要應(yīng)用route當(dāng)中的helper方法,用戶能夠借助于按鈕和鏈接與系統(tǒng)之間進(jìn)行交互炸,轉(zhuǎn)移資源鏈接狀態(tài))。

3面向資源的RESTful Web答疑系統(tǒng)

為了全面體現(xiàn)出RESTful Web應(yīng)用設(shè)計(jì)思想,此次研究主要是應(yīng)用網(wǎng)絡(luò)答疑系統(tǒng)在Rails框架下實(shí)現(xiàn)RESTful Web的應(yīng)用開(kāi)發(fā)作為案例分析。答疑系統(tǒng)主要是利用網(wǎng)上答疑處理用戶問(wèn)題,之后用戶可以維護(hù)和管理問(wèn)題,能夠?qū)ψ陨硖岢龅膯?wèn)題和解答進(jìn)行顯示,如下所示:

3.1數(shù)據(jù)集規(guī)劃

網(wǎng)絡(luò)答疑系作為整個(gè)系統(tǒng)的簡(jiǎn)化部分,能夠?qū)⑺袛?shù)據(jù)信息主要涉及用戶,問(wèn)題和答案。其中“用戶”主要包括教師和學(xué)生,其中教師擁有姓名,密碼,簡(jiǎn)介和電子郵件屬性,學(xué)生擁有用戶名稱,密碼和電子郵件屬性;“問(wèn)題”主要是學(xué)生所提問(wèn)的問(wèn)題,主要是學(xué)生用戶名問(wèn)題標(biāo)題和解答屬性等;“答案”與“問(wèn)題”配套,主要是由教師提供,包括教師姓名,問(wèn)題和答案等。

3.2建立模型

在網(wǎng)絡(luò)答疑系統(tǒng)當(dāng)中的實(shí)體,可以建立學(xué)生,教師,問(wèn)題和答案等四個(gè)數(shù)據(jù)表,其對(duì)應(yīng)的模型文件和表間關(guān)系如下:

class student

3.3控制器設(shè)計(jì)

面向資源的RESTful Web設(shè)計(jì)思想主要是將應(yīng)用功能細(xì)分為若干個(gè)控制器,之后由控制器暴露資源。所以,設(shè)計(jì)控制器就是設(shè)計(jì)資源,系統(tǒng)實(shí)現(xiàn)功能主要是定義和命名資源,因此需要采用名詞方式命名資源。Rails控制器可以使用Ruby類(lèi)實(shí)現(xiàn),在此次研究當(dāng)中共設(shè)計(jì)了八個(gè)控制器,分別包括以下方面:教師控制器:能夠?qū)處熧Y源實(shí)施CRUD操作,教師控制器的根URI為教師;學(xué)生控制器:能夠?qū)W(xué)生資源實(shí)施CRUD操作,學(xué)生控制器的根URI為學(xué)生;問(wèn)題控制器:從屬于學(xué)生資源,問(wèn)題控制器的根為學(xué)生ID和問(wèn)題。由問(wèn)題控制器當(dāng)中的“show”能夠完成學(xué)生問(wèn)題,其對(duì)應(yīng)的URI是學(xué)生ID和問(wèn)題;由問(wèn)題控制器當(dāng)中的“new”能夠完成學(xué)生提問(wèn),其對(duì)應(yīng)的URI是學(xué)生ID和問(wèn)題以及“new”。對(duì)于非CRUD控制操作的控制器來(lái)說(shuō),典型問(wèn)題和最新問(wèn)題,問(wèn)題查詢等都是經(jīng)過(guò)資源化處理之后對(duì)應(yīng)的控制器,URI和HTTP動(dòng)詞以及操作描述等。答案控制器從屬于問(wèn)題資源,該控制器的根為問(wèn)題ID和答案,教師解答問(wèn)題能夠建立新的資源,并且由問(wèn)題控制器最新問(wèn)題和問(wèn)題控制器的創(chuàng)造問(wèn)題對(duì)應(yīng)答案表的創(chuàng)造操作。

用戶登錄和退出控制器。用戶登錄狀態(tài)控制器的根為 “登錄狀態(tài)”,登錄和退出對(duì)應(yīng)的Rails方法主要是登錄狀態(tài)控制器的“新建”和“歷史記錄”。

4結(jié)束語(yǔ)

綜上所述,通過(guò)以上分析能夠看出,系統(tǒng)功能創(chuàng)建資源主要包括建立Rails控制器,路由定義和嵌套資源的定義和操作,并且不具備針對(duì)功能定義,每一項(xiàng)操作都是由REST URI和HTTP動(dòng)詞決定。

參考文獻(xiàn)

[1] 李彬峰.基于RESTful Web服務(wù)的輕量級(jí)電子村務(wù)平臺(tái)的研究與應(yīng)用[D].廣州:華南農(nóng)業(yè)大學(xué),2016.

猜你喜歡
應(yīng)用設(shè)計(jì)
高職英語(yǔ)分類(lèi)教學(xué)模式的應(yīng)用設(shè)計(jì)
基于HTML5技術(shù)的云存儲(chǔ)應(yīng)用設(shè)計(jì)探討
項(xiàng)目教學(xué)法在《基礎(chǔ)會(huì)計(jì)》教學(xué)中的應(yīng)用
分層教學(xué)模式在初中信息技術(shù)中的應(yīng)用設(shè)計(jì)
居住空間綠飾陳設(shè)原則與應(yīng)用
梧州市| 普洱| 措美县| 庄浪县| 包头市| 汝南县| 同德县| 都匀市| 奉新县| 东源县| 县级市| 南漳县| 滦南县| 仁怀市| 龙江县| 东方市| 冕宁县| 伊金霍洛旗| 子洲县| 寿阳县| 滕州市| 苍溪县| 岳普湖县| 屯留县| 金门县| 桐城市| 青田县| 正蓝旗| 外汇| 聂拉木县| 古蔺县| 合江县| 嘉峪关市| 新丰县| 西华县| 怀仁县| 夏邑县| 阿坝| 湘西| 土默特右旗| 梁山县|