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