本發(fā)明涉及用于執(zhí)行專(zhuān)門(mén)程序的裝置技術(shù)領(lǐng)域,尤其涉及一種快速構(gòu)建網(wǎng)絡(luò)應(yīng)用程序接口的裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的不斷更新發(fā)展,開(kāi)發(fā)新應(yīng)用的速度也越來(lái)越快,應(yīng)用功能劃分也越來(lái)越細(xì)。傳統(tǒng)的單個(gè)大型應(yīng)用,通常會(huì)被拆分成多個(gè)獨(dú)立的小系統(tǒng)應(yīng)用,彼此之間通過(guò)restfulapi風(fēng)格的接口進(jìn)行對(duì)外服務(wù)(以下簡(jiǎn)稱(chēng)為api服務(wù))。傳統(tǒng)開(kāi)發(fā)需要手動(dòng)適配各種數(shù)據(jù)庫(kù)連接,并編寫(xiě)大量基礎(chǔ)代碼實(shí)現(xiàn)各種操作數(shù)據(jù)庫(kù)相關(guān)的業(yè)務(wù)邏輯,最后實(shí)現(xiàn)每個(gè)需要對(duì)外提供服務(wù)的webapi接口方法。那么如何能快速高效、高質(zhì)量的開(kāi)發(fā)出符合業(yè)務(wù)需求的api服務(wù),是每個(gè)新項(xiàng)目需要面臨的開(kāi)發(fā)問(wèn)題。與此同時(shí)還要能保證每個(gè)開(kāi)發(fā)完成的api接口,在使用上有統(tǒng)一的體驗(yàn),即統(tǒng)一風(fēng)格,統(tǒng)一的調(diào)用方式等。使第三方調(diào)用者只需要熟悉一種風(fēng)格,就能快速使用不同系統(tǒng)的api接口,避免每個(gè)系統(tǒng)都有各自不同的調(diào)用風(fēng)格。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問(wèn)題是如何提供一種可快速高效、高質(zhì)量的開(kāi)發(fā)具有統(tǒng)一調(diào)用方式的api服務(wù)的構(gòu)建網(wǎng)絡(luò)應(yīng)用程序接口的裝置。
為解決上述技術(shù)問(wèn)題,本發(fā)明所采取的技術(shù)方案是:一種快速構(gòu)建網(wǎng)絡(luò)應(yīng)用程序接口的裝置,其特征在于包括:
web控制器模塊,為響應(yīng)web用戶(hù)api請(qǐng)求的實(shí)體對(duì)象,用于響應(yīng)不同模式的web用戶(hù)api請(qǐng)求,并將請(qǐng)求自動(dòng)綁定在model接口模塊上;
model接口模塊,用于在web控制器模塊與數(shù)據(jù)庫(kù)業(yè)務(wù)對(duì)象模塊之間充當(dāng)銜接和屏蔽各自實(shí)體對(duì)象;
數(shù)據(jù)庫(kù)業(yè)務(wù)對(duì)象模塊,是實(shí)現(xiàn)最終操作數(shù)據(jù)庫(kù)增/刪/改/查的實(shí)體對(duì)象,用于提供各種常用操作的數(shù)據(jù)庫(kù)方法,并用于實(shí)現(xiàn)model接口模塊中聲明的方法。
進(jìn)一步的技術(shù)方法在于:所述不同模式的web用戶(hù)api請(qǐng)求包括post、delete、put和get請(qǐng)求模式。
進(jìn)一步的技術(shù)方法在于:所述post請(qǐng)求用于執(zhí)行插入函數(shù),所述delete請(qǐng)求用于執(zhí)行刪除函數(shù),所述put請(qǐng)求用于執(zhí)行更新函數(shù),所述get請(qǐng)求用于執(zhí)行查詢(xún)函數(shù)。
進(jìn)一步的技術(shù)方法在于:所述model接口模塊用于實(shí)現(xiàn)添加數(shù)據(jù)、刪除數(shù)據(jù)、更新數(shù)據(jù)、讀取一條數(shù)據(jù)以及讀取多條數(shù)據(jù)。
進(jìn)一步的技術(shù)方法在于:所述web控制器模塊包括:
接收及處理子模塊,用于接收請(qǐng)求參數(shù)數(shù)據(jù),并處理轉(zhuǎn)換參數(shù);
調(diào)用子模塊,用于調(diào)用model接口模塊,并注入請(qǐng)求的參數(shù),等價(jià)于調(diào)用數(shù)據(jù)庫(kù)業(yè)務(wù)對(duì)象;
請(qǐng)求影響子模塊,用于按照固定編碼格式影響請(qǐng)求。
采用上述技術(shù)方案所產(chǎn)生的有益效果在于:1)開(kāi)發(fā)速度快:所述裝置提供了各種基礎(chǔ)對(duì)象模型和方法,大大減少了開(kāi)發(fā)難度和編碼工作。2)開(kāi)發(fā)質(zhì)量高:所述裝置統(tǒng)一了開(kāi)發(fā)風(fēng)格,定義了相關(guān)接口和方法集。3)開(kāi)發(fā)測(cè)試方便:所述裝置的分層設(shè)計(jì)能使開(kāi)發(fā)測(cè)試分模塊獨(dú)立進(jìn)行。4)對(duì)外輸出能提供統(tǒng)一的增/刪/改/查調(diào)用風(fēng)格。
附圖說(shuō)明
下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。
圖1是本發(fā)明實(shí)施例所述裝置的原理框圖。
具體實(shí)施方式
下面結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是本發(fā)明還可以采用其他不同于在此描述的其它方式來(lái)實(shí)施,本領(lǐng)域技術(shù)人員可以在不違背本發(fā)明內(nèi)涵的情況下做類(lèi)似推廣,因此本發(fā)明不受下面公開(kāi)的具體實(shí)施例的限制。
如圖1所示,本發(fā)明實(shí)施例公開(kāi)了一種快速構(gòu)建網(wǎng)絡(luò)應(yīng)用程序接口的裝置,包括:
web控制器模塊,為響應(yīng)web用戶(hù)api請(qǐng)求的實(shí)體對(duì)象,用于響應(yīng)不同模式的web用戶(hù)api請(qǐng)求,并將請(qǐng)求自動(dòng)綁定在model接口模塊上;
model接口模塊,用于在web控制器模塊與數(shù)據(jù)庫(kù)業(yè)務(wù)對(duì)象模塊之間充當(dāng)銜接和屏蔽各自實(shí)體對(duì)象;
數(shù)據(jù)庫(kù)業(yè)務(wù)對(duì)象模塊,是實(shí)現(xiàn)最終操作數(shù)據(jù)庫(kù)增/刪/改/查的實(shí)體對(duì)象,用于提供各種常用操作的數(shù)據(jù)庫(kù)方法,并用于實(shí)現(xiàn)model接口模塊中聲明的方法。
所述web控制器模塊包括:
接收及處理子模塊,用于接收請(qǐng)求參數(shù)數(shù)據(jù),并處理轉(zhuǎn)換參數(shù);
調(diào)用子模塊,用于調(diào)用model接口模塊,并注入請(qǐng)求的參數(shù),等價(jià)于調(diào)用數(shù)據(jù)庫(kù)業(yè)務(wù)對(duì)象;
請(qǐng)求影響子模塊,用于按照固定編碼格式影響請(qǐng)求。
model接口模塊是一個(gè)抽象的泛型,定義了實(shí)現(xiàn)該接口所需要實(shí)現(xiàn)的方法集合,部分定義的方法例如所示:
model接口模塊在web控制器模塊和數(shù)據(jù)庫(kù)(db)業(yè)務(wù)對(duì)象之間充當(dāng)了銜接和屏蔽各自實(shí)體對(duì)象的具體實(shí)現(xiàn)細(xì)節(jié),是個(gè)橋接的解耦器。
數(shù)據(jù)庫(kù)(db)業(yè)務(wù)對(duì)象模塊是最終操作數(shù)據(jù)庫(kù)增/刪/改/查的實(shí)體對(duì)象。所述裝置提供了一個(gè)底層的基礎(chǔ)類(lèi)對(duì)象,實(shí)現(xiàn)了各種常用操作數(shù)據(jù)庫(kù)的方法集合,同時(shí)該基礎(chǔ)類(lèi)實(shí)現(xiàn)了model接口模塊中聲明的方法。開(kāi)發(fā)人員只需繼承該基類(lèi),按需重載定義的方法或擴(kuò)充方法即可,因?yàn)榛A(chǔ)類(lèi)里已經(jīng)提供了較豐富的方法,能滿(mǎn)足大部分的業(yè)務(wù)場(chǎng)景。
web控制器模塊是用于響應(yīng)web用戶(hù)api請(qǐng)求的實(shí)體對(duì)象。webxorm方法提供了一個(gè)底層的基礎(chǔ)類(lèi)對(duì)象,實(shí)現(xiàn)了響應(yīng)post、delete、put、get等不同請(qǐng)求模式的請(qǐng)求方法,并且自動(dòng)綁定在model接口上。部分如下所示:
web控制器模塊調(diào)用model接口方法只是其web響應(yīng)方法處理邏輯中的一個(gè)鉤子函數(shù),即db(數(shù)據(jù)庫(kù))業(yè)務(wù)對(duì)象模塊,只負(fù)責(zé)完成操作數(shù)據(jù)庫(kù)相關(guān)的邏輯內(nèi)容。一個(gè)控制器的響應(yīng)方法執(zhí)行流程如下:
控制器響應(yīng)方法執(zhí)行流程:
第一步:接收請(qǐng)求參數(shù)數(shù)據(jù),并且處理轉(zhuǎn)換參數(shù)
第二步:調(diào)用model接口方法,并注入請(qǐng)求的參數(shù),等價(jià)于調(diào)用db(數(shù)據(jù)庫(kù))業(yè)務(wù)對(duì)象
第三步:按固定編碼格式影響請(qǐng)求(如:json格式)
方法執(zhí)行完畢,返回。
使用所述裝置開(kāi)發(fā)webapi服務(wù)的流程順序?yàn)椋?/p>
1、完成數(shù)據(jù)庫(kù)模塊:實(shí)現(xiàn)db業(yè)務(wù)對(duì)象模塊,然后測(cè)試該對(duì)象實(shí)現(xiàn)的model接口模塊是否都能按業(yè)務(wù)需求處理。
2、完成控制器模塊:實(shí)現(xiàn)控制器對(duì)象,綁定對(duì)應(yīng)的db業(yè)務(wù)對(duì)象。
3、按框架結(jié)構(gòu)組裝兩個(gè)模塊,數(shù)據(jù)庫(kù)模塊(db)與控制器模塊(ctrl),編譯即可。
model接口模塊定義了實(shí)現(xiàn)該接口所需要實(shí)現(xiàn)的方法集合,數(shù)據(jù)庫(kù)業(yè)務(wù)對(duì)象模塊通過(guò)導(dǎo)入model接口模塊,并實(shí)現(xiàn)model接口模塊中定義的數(shù)據(jù)庫(kù)操作方法集合,可用于對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行增/刪/改/查等操作,web控制器模塊在接收到用戶(hù)的請(qǐng)求參數(shù)數(shù)據(jù)后,通過(guò)調(diào)用數(shù)據(jù)庫(kù)業(yè)務(wù)對(duì)象模塊進(jìn)行數(shù)據(jù)庫(kù)數(shù)據(jù)的操作,獲取滿(mǎn)足條件的數(shù)據(jù),并返回給用戶(hù)。
所述裝置具有如下有點(diǎn):1)開(kāi)發(fā)速度快:所述裝置提供了各種基礎(chǔ)對(duì)象模型和方法,大大減少了開(kāi)發(fā)難度和編碼工作。2)開(kāi)發(fā)質(zhì)量高:所述裝置統(tǒng)一了開(kāi)發(fā)風(fēng)格,定義了相關(guān)接口和方法集。3)開(kāi)發(fā)測(cè)試方便:所述裝置的分層設(shè)計(jì)能使開(kāi)發(fā)測(cè)試分模塊獨(dú)立進(jìn)行。4)對(duì)外輸出能提供統(tǒng)一的增/刪/改/查調(diào)用風(fēng)格。