本申請實施例屬于研發領域,應用于服務SDK協同開發領域中,涉及一種標準化服務SDK自動化生成方法及其相關設備,包括獲取API源碼中的注解信息;從中篩選出方法注解描述,將方法注解描述生成唯一標記的數據;并以描述對象存儲到預設數據庫;將描述對象打包并展示到預設開發協同界面;根據目標描述對象生成對應的代碼程序,并將所述代碼程序上傳至預設位置,供二次開發者下載使用。本申請通過一個中間對象即描述對象,實現多開發者間的開發協調管理,避免了對程序源代碼的多次上傳和下載操作,使得開發協同界面的API文檔始終處于第一版本狀態,為不同平臺提供一個統一標準的服務SDK自動化生成方法,保證API文檔版本的統一性和易維護性。和易維護性。和易維護性。
【技術實現步驟摘要】
標準化服務SDK自動化生成方法及其相關設備
[0001]本申請涉及服務SDK協同開發
,尤其涉及一種標準化服務SDK自動化生成方法及其相關設備。
技術介紹
[0002]現在大多數混合式開發的客戶端APP有很多的對外服務接口,例如金融場景中有關保險業務的開發,由于保險險種和業務項目的繁雜性,需要開發很多對外服務接口,目前的開發情況是這樣的,客戶端提供了大量的對外方法,但對外服務的方法沒有統一,也沒有任何注釋表明方法的作用,很多情況下每重復注冊一遍,就需要重復發布一遍,但很多對外方法卻僅限于幾個人知道,靠口口相傳,或者維護一個公共的API文檔進行對外方法維護。
[0003]API文檔若是獨立于運行的代碼之外,無論是采用Word、Excel,網頁直輸等脫離代碼的方式,容易出現API文檔版本眾多,維護和發布困難,代碼變更后文檔說明與代碼功能不一致等問題,并且極易出現因人工書寫錯誤,可靠性低,這對對接方和二次開發者及其不友好,因此,目前服務SDK開發過程中存在API文檔版本不統一,經不同開發人員進行多次更改后,易造成維護困難、發布困難的問題。
技術實現思路
[0004]本申請實施例的目的在于提出一種標準化服務SDK自動化生成方法及其相關設備,以便于為不同平臺提供一個統一標準的服務SDK自動化生成方法,保證API文檔版本的統一性和易維護性。
[0005]為了解決上述技術問題,本申請實施例提供一種標準化服務SDK自動化生成方法,采用了如下所述的技術方案:
[0006]一種標準化服務SDK自動化生成方法,包括下述步驟:
[0007]根據預設注解處理器,獲取API源碼中的注解信息,其中,所述注解信息指為實現所述API源碼自動化部署和生成軟件開發工具包而預先編寫的注解文本;
[0008]從所述注解信息中篩選出所述API源碼中的方法注解描述,并根據預設轉碼規則,將所述方法注解描述生成唯一標記的數據;
[0009]將所述唯一標記的數據和所述唯一標記的數據對應的描述對象存儲到預設數據庫;
[0010]接收為生成目標服務對應的軟件開發工具包而發出的打包指令,對所述打包指令進行解析,獲得解析結果;
[0011]根據預設不同打包條件和所述解析結果,將所述軟件開發工具包打包并展示到預設開發協同界面;
[0012]基于預設監測組件,監測到所述開發協同界面中為獲取所述目標服務對應的軟件開發工具包而發出的提取指令后,根據預設代碼生成器生成所述軟件開發工具包所對應的代碼程序,并將所述代碼程序上傳至預設位置,供二次開發者下載使用。
[0013]進一步的,所述從所述注解信息中篩選出所述API源碼中的方法注解描述,并根據預設轉碼規則,將所述方法注解描述生成唯一標記的數據的步驟,具體包括:
[0014]獲取篩選出的所述API源碼中所有的方法注解描述;
[0015]將所述所有的方法注解描述作為一個整體對象,進行序列化處理,獲取序列化處理結果;
[0016]將所述序列化處理結果作為輸入流進行MD5值處理,獲取MD5值,將所述MD5值作為所述唯一標記的數據,為所述MD5值設置唯一標識作為所述描述對象。
[0017]進一步的,所述將所述唯一標記的數據和所述唯一標記的數據對應的描述對象存儲到預設數據庫的步驟,具體包括:
[0018]將所述MD5值作為哈希值,將所述描述對象作為與所述哈希值相匹配的哈希對象,成對緩存入所述預設數據庫,其中,所述描述對象可以按照開發時的包名、類名、方法名、返回值進行逐級拼接命名。
[0019]進一步的,在所述將所述MD5值作為哈希值,將所述描述對象作為與所述哈希值相匹配的哈希對象,成對緩存入所述預設數據庫的步驟之后,所述方法還包括:
[0020]在所述預設數據庫中生成一個和所述MD5值相對應的自增式版本號信息;
[0021]為所述MD5值、所述描述對象和所述版本號信息建立關聯關系,并為所述MD5值、所述描述對象和所述版本號信息分別設置對應的入庫時間戳。
[0022]進一步的,所述為生成目標服務對應的軟件開發工具包而發出的打包指令中包括所述軟件開發工具包的打包路徑,所述接收為生成目標服務對應的軟件開發工具包而發出的打包指令,對所述打包指令進行解析,獲得解析結果的步驟,具體包括:
[0023]在接收到所述打包指令之后,對所述打包指令進行解析,獲取所述打包路徑。
[0024]進一步的,所述根據預設不同打包條件和所述解析結果,將所述軟件開發工具包打包并展示到預設開發協同界面的步驟,具體包括:
[0025]根據所述打包路徑和所述不同打包條件,將所述MD5值對應的所述自增式版本號信息展示到所述開發協同界面,其中,所述不同打包條件指打包時所使用的不同壓縮工具。
[0026]進一步的,所述根據預設代碼生成器生成所述軟件開發工具包所對應的代碼程序的步驟,具體包括:
[0027]預先定義所述代碼生成器的通用方法協議;
[0028]獲取目標描述對象對應的方法調用數組,其中,所述方法調用數組中包括:方法名、調用參數和返回值;
[0029]對所述方法調用數組進行解析,獲取方法名、調用參數和返回值;
[0030]將所述方法名、調用參數和返回值作為所述通用方法協議的入參參數,調用所述代碼生成器,生成所述軟件開發工具包所對應的代碼程序。
[0031]為了解決上述技術問題,本申請實施例還提供一種標準化服務SDK自動化生成裝置,采用了如下所述的技術方案:
[0032]一種標準化服務SDK自動化生成裝置,包括:
[0033]注解信息獲取模塊,用于根據預設注解處理器,獲取API源碼中的注解信息,其中,所述注解信息指為實現所述API源碼自動化部署和生成軟件開發工具包而預先編寫的注解文本;
[0034]方法注解轉碼模塊,用于從所述注解信息中篩選出所述API源碼中的方法注解描述,并根據預設轉碼規則,將所述方法注解描述生成唯一標記的數據;
[0035]中間對象存儲模塊,用于將所述唯一標記的數據和所述唯一標記的數據對應的描述對象存儲到預設數據庫;
[0036]打包指令解析模塊,用于接收為生成目標服務對應的軟件開發工具包而發出的打包指令,對所述打包指令進行解析,獲得解析結果;
[0037]打包處理模塊,用于根據預設不同打包條件和所述解析結果,將所述軟件開發工具包打包并展示到預設開發協同界面;
[0038]服務SDK生成模塊,用于基于預設監測組件,監測到所述開發協同界面中為獲取所述目標服務對應的軟件開發工具包而發出的提取指令后,根據預設代碼生成器生成所述軟件開發工具包所對應的代碼程序,并將所述代碼程序上傳至預設位置,供二次開發者下載使用。
[0039]為了解決上述技術問題,本申請實施例還提供一種計算機設備,采用了如下所述的技術方案:
[0040]一種計算機設備,包括存儲器和處理器,所述存儲器中存儲有計算機可讀指令,所述處本文檔來自技高網...
【技術保護點】
【技術特征摘要】
1.一種標準化服務SDK自動化生成方法,其特征在于,包括下述步驟:根據預設注解處理器,獲取AP I源碼中的注解信息,其中,所述注解信息指為實現所述AP I源碼自動化部署和生成軟件開發工具包而預先編寫的注解文本;從所述注解信息中篩選出所述AP I源碼中的方法注解描述,并根據預設轉碼規則,將所述方法注解描述生成唯一標記的數據;將所述唯一標記的數據和所述唯一標記的數據對應的描述對象存儲到預設數據庫;接收為生成目標服務對應的軟件開發工具包而發出的打包指令,對所述打包指令進行解析,獲得解析結果;根據預設不同打包條件和所述解析結果,將所述軟件開發工具包打包并展示到預設開發協同界面;基于預設監測組件,監測到所述開發協同界面中為獲取所述目標服務對應的軟件開發工具包而發出的提取指令后,根據預設代碼生成器生成所述軟件開發工具包所對應的代碼程序,并將所述代碼程序上傳至預設位置,供二次開發者下載使用。2.根據權利要求1所述的標準化服務SDK自動化生成方法,其特征在于,所述從所述注解信息中篩選出所述AP I源碼中的方法注解描述,并根據預設轉碼規則,將所述方法注解描述生成唯一標記的數據的步驟,具體包括:獲取篩選出的所述AP I源碼中所有的方法注解描述;將所述所有的方法注解描述作為一個整體對象,進行序列化處理,獲取序列化處理結果;將所述序列化處理結果作為輸入流進行MD5值處理,獲取MD5值,將所述MD5值作為所述唯一標記的數據,為所述MD5值設置唯一標識作為所述描述對象。3.根據權利要求2所述的標準化服務SDK自動化生成方法,其特征在于,所述將所述唯一標記的數據和所述唯一標記的數據對應的描述對象存儲到預設數據庫的步驟,具體包括:將所述MD5值作為哈希值,將所述描述對象作為與所述哈希值相匹配的哈希對象,成對緩存入所述預設數據庫,其中,所述描述對象可以按照開發時的包名、類名、方法名、返回值進行逐級拼接命名。4.根據權利要求3所述的標準化服務SDK自動化生成方法,其特征在于,在所述將所述MD5值作為哈希值,將所述描述對象作為與所述哈希值相匹配的哈希對象,成對緩存入所述預設數據庫的步驟之后,所述方法還包括:在所述預設數據庫中生成一個和所述MD5值相對應的自增式版本號信息;為所述MD5值、所述描述對象和所述版本號信息建立關聯關系,并為所述MD5值、所述描述對象和所述版本號信息分別設置對應的入庫時間戳。5.根據權利要求4所述的標準化服務SDK自動化生成方法,其特征在于,所述為生成目標服務對應的軟件開發工具包而發出的打包指令中包括所述軟件開發工具包的打包路徑,所述接收為生成目標服務對應的軟件開發工具包而發出的打包指令,對所...
【專利技術屬性】
技術研發人員:彭志明,
申請(專利權)人:中國平安財產保險股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。