本發(fā)明涉及API(Application Programming Interface,應(yīng)用程序編程接口)接口調(diào)試領(lǐng)域,具體涉及一種快速生成API接口的方法及系統(tǒng)。
背景技術(shù):
目前,移動終端(例如手機(jī)、平板電腦等)上的應(yīng)用程序在生成接口時(shí),需要前端人員和后臺服務(wù)器人員,進(jìn)行接口開發(fā)與生成配合;由于接口開發(fā)進(jìn)度和時(shí)間的不同,導(dǎo)致雙方人員無法很好對接接口,從而影響開發(fā)進(jìn)度。
與此同時(shí),對于一些僅需少量與服務(wù)器進(jìn)行數(shù)據(jù)交互的接口的應(yīng)用程序而言,后臺服務(wù)器人員對該類應(yīng)用程序所需的少量接口進(jìn)行開發(fā),會浪費(fèi)大量的開發(fā)成本。
技術(shù)實(shí)現(xiàn)要素:
針對現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明解決的技術(shù)問題為:直接根據(jù)請求生成和調(diào)用接口。本發(fā)明能夠省去在服務(wù)器上研發(fā)和生成接口的過程,不僅提高了接口的生成效率,而且顯著降低了開發(fā)成本,非常便于人們使用。
為達(dá)到以上目的,本發(fā)明提供的快速生成API接口的方法,包括以下步驟:
步驟A:API接口被生成時(shí),獲取當(dāng)前API接口的接口名稱、接口類型、請求信息和返回信息;請求信息包括當(dāng)前API接口被請求時(shí)所需的數(shù)據(jù),返回信息包括當(dāng)前API接口被請求后需要返回的數(shù)據(jù),轉(zhuǎn)到步驟B;
步驟B:獲取與當(dāng)前API接口的接口類型匹配的接口名稱模板文件,在該接口名稱模板文件中,添加當(dāng)前API接口的接口名稱和請求信息后,形成初步接口文件,轉(zhuǎn)到步驟C;
步驟C:根據(jù)當(dāng)前初步接口文件的接口類型,獲取對應(yīng)的接口信息模板文件,在接口信息模板文件中,添加當(dāng)前API接口的返回信息后,生成接口信息;將接口信息加入當(dāng)前初步接口文件,形成完整接口文件;分別將當(dāng)前完整接口文件的接口名稱、請求信息和返回信息均映射至網(wǎng)頁,轉(zhuǎn)到步驟D;
步驟D:當(dāng)前API接口在網(wǎng)頁上被請求時(shí),掃描網(wǎng)頁中是否存在接口名稱、請求信息和返回信息均與當(dāng)前API接口相同的完整接口文件,若是,則確定當(dāng)前API接口生成成功,否則確定當(dāng)前API接口生成未成功,返回錯(cuò)誤。
本發(fā)明提供的實(shí)現(xiàn)上述方法的快速生成API接口的系統(tǒng),包括接口信息獲取模塊、初步接口文件生成模塊、完整接口文件生成模塊和API接口請求模塊;
接口信息獲取模塊用于:API接口被生成時(shí),獲取當(dāng)前API接口的接口名稱、接口類型、請求信息和返回信息;請求信息包括當(dāng)前API接口被請求時(shí)所需的數(shù)據(jù),返回信息包括當(dāng)前API接口被請求后需要返回的數(shù)據(jù),向初步接口文件生成模塊發(fā)送初步接口文件生成信號;
初步接口文件生成模塊用于:收到初步接口文件生成信號后,獲取與API接口的接口類型匹配的接口名稱模板文件,在接口名稱模板文件中,添加API接口的接口名稱和請求信息后,形成初步接口文件,向完整接口文件生成模塊發(fā)送完整接口文件生成信號;
完整接口文件生成模塊用于:收到完整接口文件生成信號后,根據(jù)初步接口文件的接口類型,獲取對應(yīng)的接口信息模板文件,在接口信息模板文件中,添加API接口的返回信息后,生成接口信息;將接口信息加入當(dāng)前初步接口文件,形成完整接口文件;分別將完整接口文件的接口名稱、請求信息和返回信息均映射至網(wǎng)頁;
API接口請求模塊用于:當(dāng)API接口在網(wǎng)頁上被請求時(shí),掃描網(wǎng)頁中是否存在接口名稱、請求信息和返回信息均與當(dāng)前API接口相同的完整接口文件,若是,返回API接口生成信號,否則返回錯(cuò)誤信號。
與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于:
(1)本發(fā)明能夠根據(jù)API接口被請求時(shí)的接口名稱、接口類型、請求信息和返回信息,以文件的形式生成相應(yīng)的接口。因此,與現(xiàn)有技術(shù)中需要在服務(wù)器上進(jìn)行研發(fā)和生成接口相比,本發(fā)明能夠省去在服務(wù)器上研發(fā)和生成接口的過程,不僅提高了接口的生成效率,而且顯著降低了開發(fā)成本,非常便于人們使用。
(2)本發(fā)明在首次請求接口時(shí),會根據(jù)接口名稱生成初步接口文件、并保存在數(shù)據(jù)庫中,該接口再次請求時(shí),只需直接在數(shù)據(jù)庫中調(diào)用相同接口名稱的初步接口文件、并設(shè)置其中的請求信息和返回信息即可。因此本發(fā)明在接口被再次請求時(shí),省去了初步接口文件的生成步驟,進(jìn)而簡化了接口的生成流程,提高了工作效率。
附圖說明
圖1為本發(fā)明實(shí)施例中快速生成API接口的方法的流程圖。
具體實(shí)施方式
以下結(jié)合附圖及實(shí)施例對本發(fā)明作進(jìn)一步詳細(xì)說明。
參見圖1所示,本發(fā)明實(shí)施例中的快速生成API接口的方法,包括以下步驟:
S1:根據(jù)需要生成的API接口的接口類型,預(yù)先設(shè)定php(Hypertext Preprocessor,超文本預(yù)處理器)格式的接口名稱模板文件和接口信息模板文件(設(shè)定原理為通過約定,修改模板文件中的方法名及返回值)。
S2:被請求人員在網(wǎng)頁上請求生成API接口時(shí),獲取當(dāng)前API接口的接口名稱、接口類型、請求信息和返回信息;請求信息包括當(dāng)前API接口被請求時(shí)所需的數(shù)據(jù),返回信息包括當(dāng)前API接口被請求后需要返回的數(shù)據(jù),轉(zhuǎn)到S3。
S2中的請求信息包括GET(獲取數(shù)據(jù)信息)、POST(傳送數(shù)據(jù)信息)、PUT(儲存數(shù)據(jù)信息)和DELETE(刪除數(shù)據(jù)信息)等。
S3:判斷移動終端上(S4中的數(shù)據(jù)庫)是否存在與當(dāng)前API接口的接口名稱相同的php格式的初步接口文件,若是,轉(zhuǎn)到S5,否則轉(zhuǎn)到S4。
S4:獲取與當(dāng)前API接口的接口類型匹配的接口名稱模板文件,在該接口名稱模板文件中,添加當(dāng)前API接口的接口名稱和請求信息后,形成初步接口文件,將所有初步接口文件保存形成數(shù)據(jù)庫,轉(zhuǎn)到S5。
S5:根據(jù)當(dāng)前初步接口文件的接口類型,獲取對應(yīng)的接口信息模板文件,在接口信息模板文件中,添加當(dāng)前API接口的返回信息后,生成接口信息代碼;將接口信息代碼加入當(dāng)前初步接口文件,形成完整接口文件;將當(dāng)前完整接口文件的接口名稱、請求信息和返回信息均映射至網(wǎng)頁,轉(zhuǎn)到S6。
S5中接口信息模板文件按照以下代碼塊生成接口信息代碼:
$str="public function".$method_name."()
{return".$var_export.";}";
將其中的$method_nam(方法名稱)替換為接口名稱,將$var_export(返回值)替換為返回信息。
通過接口信息模板文件生成接口信息的原因在于:由于不同性質(zhì)的接口被請求時(shí),可能接口名稱和請求信息相同,但是返回信息不同,因此接口信息中,需要包含對應(yīng)不同請求信息的返回信息,才能準(zhǔn)確匹配被請求的接口。而接口信息代碼也可以根據(jù)不同的需求及實(shí)際情況進(jìn)行配置,初始化系統(tǒng)的時(shí)候加入初步接口文件就可以了。
S6:被請求人員在網(wǎng)頁上請求當(dāng)前API接口時(shí),掃描網(wǎng)頁中是否存在接口名稱、請求信息和返回信息均與當(dāng)前API接口相同的完整接口文件,若是,則確定當(dāng)前API接口生成成功,直接請求掃描得到的完整接口文件作為接口來執(zhí)行工作,結(jié)束;否則確定當(dāng)前API接口生成失敗,返回錯(cuò)誤,結(jié)束。
本發(fā)明提供的實(shí)現(xiàn)上述方法的快速生成API接口的系統(tǒng),包括模板設(shè)定模塊、接口信息獲取模塊、初步接口文件生成模塊、完整接口文件生成模塊和API接口請求模塊。
模板設(shè)定模塊用于:根據(jù)需要被請求的API接口的接口類型,設(shè)定php格式的接口名稱模板文件和接口信息模板文件。
接口信息獲取模塊用于:API接口被生成時(shí),獲取當(dāng)前API接口的接口名稱、接口類型、請求信息和返回信息;請求信息包括當(dāng)前API接口被請求時(shí)所需的數(shù)據(jù)(例如GET、POST、PUT和DELETE,返回信息包括當(dāng)前API接口被請求后需要返回的數(shù)據(jù);判斷數(shù)據(jù)庫中是否存在與當(dāng)前API接口的接口名稱相同的初步接口文件,若是,向完整接口文件生成模塊發(fā)送完整接口文件生成信號,否則向初步接口文件生成模塊發(fā)送初步接口文件生成信號。
初步接口文件生成模塊用于:收到初步接口文件生成信號后,獲取與API接口的接口類型匹配的接口名稱模板文件,在接口名稱模板文件中,添加API接口的接口名稱和請求信息后,形成php格式的初步接口文件,將所有初步接口文件保存形成數(shù)據(jù)庫,向完整接口文件生成模塊發(fā)送完整接口文件生成信號。
完整接口文件生成模塊用于:收到完整接口文件生成信號后,根據(jù)初步接口文件的接口類型,獲取對應(yīng)的接口信息模板文件,在接口信息模板文件中,添加API接口的返回信息后,生成接口信息;將接口信息加入當(dāng)前初步接口文件,形成完整接口文件;分別將完整接口文件的接口名稱、請求信息和返回信息均映射至網(wǎng)頁。
API接口請求模塊用于:當(dāng)API接口在網(wǎng)頁上被請求時(shí),掃描網(wǎng)頁中是否存在接口名稱、請求信息和返回信息均與當(dāng)前API接口相同的完整接口文件,若是,返回API接口生成信號,否則返回錯(cuò)誤信號。
本發(fā)明不局限于上述實(shí)施方式,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也視為本發(fā)明的保護(hù)范圍之內(nèi)。本說明書中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技術(shù)。