本申請涉及計算機,具體涉及一種微服務(wù)代碼自動生成方法、系統(tǒng)、設(shè)備、介質(zhì)和產(chǎn)品。
背景技術(shù):
1、目前,主要使用easycode和bito兩種代碼自動生成工具生成微服務(wù)代碼。其中,easycode主要用于生成模型實體,bito多用于寫代碼邏輯過程中的代碼補全,而微服務(wù)下,需要基于不同微服務(wù)需求生成微服務(wù)框架代碼,目前并無對應(yīng)工具來實現(xiàn)。同時,在實際開發(fā)過程中,不同開發(fā)人員編程接口格式不統(tǒng)一,且隨著項目長時間的迭代,接口層的代碼會越發(fā)混亂,偏離既定的開發(fā)規(guī)范,從而導致微服務(wù)代碼自動生成效率低。
技術(shù)實現(xiàn)思路
1、本申請實施例提供一種微服務(wù)代碼自動生成方法、系統(tǒng)、設(shè)備、介質(zhì)和產(chǎn)品,用以解決現(xiàn)有技術(shù)中微服務(wù)代碼自動生成效率低的問題。
2、第一方面,本申請實施例提供一種微服務(wù)代碼自動生成方法,包括:
3、獲取用戶輸入的微服務(wù)信息;所述微服務(wù)信息包括微服務(wù)工程的運行參數(shù);
4、對所述微服務(wù)信息進行合法性校驗;
5、若所述合法性校驗通過,則基于所述微服務(wù)信息,生成微服務(wù)框架所需的目標類的源碼;所述目標類包括接口類、數(shù)據(jù)傳輸對象dto類、實現(xiàn)類和實體類。
6、根據(jù)本申請實施例提供的一種微服務(wù)代碼自動生成方法,所述基于所述微服務(wù)信息,生成微服務(wù)框架所需的目標類的源碼,包括:
7、基于預設(shè)的接口命名信息,對所述微服務(wù)信息中的接口名進行解析,得到所述接口類的源碼;所述接口類包括接口類名、實現(xiàn)類名和方法名。
8、根據(jù)本申請實施例提供的一種微服務(wù)代碼自動生成方法,所述基于所述微服務(wù)信息,生成微服務(wù)框架所需的目標類的源碼,包括:
9、對所述微服務(wù)信息中的json輸入?yún)?shù)和json輸出參數(shù)進行解析,得到待封裝的數(shù)據(jù)字段信息;
10、創(chuàng)建空的入?yún)to類和空的出參dto類;
11、基于所述待封裝的數(shù)據(jù)字段信息,確定所述json輸入?yún)?shù)的第一屬性信息和所述json輸出參數(shù)的第二屬性信息;
12、在所述空的入?yún)to類中添加所述第一屬性信息及其方法,以及在所述空的出參dto類添加所述第二屬性信息及其方法,以生成所述dto類的源碼。
13、根據(jù)本申請實施例提供的一種微服務(wù)代碼自動生成方法,所述基于所述微服務(wù)信息,生成微服務(wù)框架所需的目標類的源碼,包括:
14、基于所述微服務(wù)信息,獲取接口名、入?yún)to類名、出參dto類名以及實體類名;
15、基于所述接口名、所述入?yún)to類名、所述出參dto類名以及所述實體類名,創(chuàng)建java類文件;
16、在所述java類文件中,確定所述接口類中定義的方法的業(yè)務(wù)邏輯處理信息,以生成所述實現(xiàn)類的源碼。
17、根據(jù)本申請實施例提供的一種微服務(wù)代碼自動生成方法,所述基于所述微服務(wù)信息,生成微服務(wù)框架所需的目標類的源碼,包括:
18、對所述微服務(wù)信息中的json輸入?yún)?shù)進行解析,得到所述json輸入?yún)?shù)中的所有節(jié)點信息;所述節(jié)點信息包括節(jié)點層次、節(jié)點內(nèi)容、節(jié)點類型和上下級節(jié)點信息;
19、基于所述節(jié)點信息存入java對象,以生成所述實體類的源碼。
20、根據(jù)本申請實施例提供的一種微服務(wù)代碼自動生成方法,所述合法性校驗包括接口命名規(guī)范校驗、接口目錄合法性校驗、方法同名校驗、類同名校驗、json輸入?yún)?shù)的合法性校驗和json輸出參數(shù)的合法性校驗;對所述微服務(wù)信息進行合法性校驗,包括:
21、對所述微服務(wù)信息進行所述接口命名規(guī)范校驗和接口目錄合法性校驗;
22、若所述接口命名規(guī)范校驗和接口目錄合法性校驗均通過,則對所述微服務(wù)信息進行所述方法同名校驗和所述類同名校驗;
23、若所述方法同名校驗和所述類同名校驗均通過,則對所述微服務(wù)信息進行所述json輸入?yún)?shù)的合法性校驗和json輸出參數(shù)的合法性校驗。
24、根據(jù)本申請實施例提供的一種微服務(wù)代碼自動生成方法,所述獲取用戶輸入的微服務(wù)信息,包括:
25、顯示所述微服務(wù)工程;
26、通過前端ui組件,獲取用戶輸入的所述微服務(wù)工程的微服務(wù)信息。
27、第二方面,本申請實施例提供一種微服務(wù)代碼自動生成系統(tǒng),包括:前端ui組件、攔截器組件和代碼自動生成組件;
28、所述前端ui組件,用于展示用戶輸入的微服務(wù)信息;
29、所述攔截器組件,用于對所述微服務(wù)信息進行合法性校驗;
30、所述代碼自動生成組件,用于基于所述微服務(wù)信息,生成微服務(wù)框架所需的目標類的源碼。
31、第三方面,本申請實施例提供一種電子設(shè)備,包括處理器和存儲有計算機程序的存儲器,所述處理器執(zhí)行所述程序時實現(xiàn)第一方面所述的微服務(wù)代碼自動生成方法的步驟。
32、第四方面,本申請實施例提供一種非暫態(tài)計算機可讀存儲介質(zhì),其上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)第一方面所述的微服務(wù)代碼自動生成方法的步驟。
33、第五方面,本申請實施例提供一種計算機程序產(chǎn)品,包括計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)第一方面所述的微服務(wù)代碼自動生成方法的步驟。
34、本申請實施例提供的微服務(wù)代碼自動生成方法、系統(tǒng)、設(shè)備、介質(zhì)和產(chǎn)品,通過獲取用戶輸入的微服務(wù)信息;微服務(wù)信息包括微服務(wù)工程的運行參數(shù);對微服務(wù)信息進行合法性校驗;若合法性校驗通過,則基于微服務(wù)信息,生成微服務(wù)框架所需的目標類的源碼;目標類包括接口類、數(shù)據(jù)傳輸對象dto類、實現(xiàn)類和實體類。本申請實施例通過一鍵自動生成接口類、dto類、實現(xiàn)類和實體類的源碼,有助于開發(fā)人員專注于業(yè)務(wù)邏輯編排,同時提高了代碼的開發(fā)質(zhì)量和生成效率。
1.一種微服務(wù)代碼自動生成方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的微服務(wù)代碼自動生成方法,其特征在于,所述基于所述微服務(wù)信息,生成微服務(wù)框架所需的目標類的源碼,包括:
3.根據(jù)權(quán)利要求1所述的微服務(wù)代碼自動生成方法,其特征在于,所述基于所述微服務(wù)信息,生成微服務(wù)框架所需的目標類的源碼,包括:
4.根據(jù)權(quán)利要求1所述的微服務(wù)代碼自動生成方法,其特征在于,所述基于所述微服務(wù)信息,生成微服務(wù)框架所需的目標類的源碼,包括:
5.根據(jù)權(quán)利要求1所述的微服務(wù)代碼自動生成方法,其特征在于,所述基于所述微服務(wù)信息,生成微服務(wù)框架所需的目標類的源碼,包括:
6.根據(jù)權(quán)利要求1所述的微服務(wù)代碼自動生成方法,其特征在于,所述合法性校驗包括接口命名規(guī)范校驗、接口目錄合法性校驗、方法同名校驗、類同名校驗、json輸入?yún)?shù)的合法性校驗和json輸出參數(shù)的合法性校驗;對所述微服務(wù)信息進行合法性校驗,包括:
7.根據(jù)權(quán)利要求6所述的微服務(wù)代碼自動生成方法,其特征在于,所述獲取用戶輸入的微服務(wù)信息,包括:
8.一種微服務(wù)代碼自動生成系統(tǒng),其特征在于,應(yīng)用于權(quán)利要求1至7中任一項所述的微服務(wù)代碼自動生成方法,包括前端ui組件、攔截器組件和代碼自動生成組件;
9.一種電子設(shè)備,包括處理器和存儲有計算機程序的存儲器,其特征在于,所述處理器執(zhí)行所述計算機程序時實現(xiàn)權(quán)利要求1至7任一項所述的微服務(wù)代碼自動生成方法的步驟。
10.一種非暫態(tài)計算機可讀存儲介質(zhì),其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執(zhí)行時實現(xiàn)權(quán)利要求1至7任一項所述的微服務(wù)代碼自動生成方法的步驟。
11.一種計算機程序產(chǎn)品,包括計算機程序,其特征在于,所述計算機程序被處理器執(zhí)行時實現(xiàn)權(quán)利要求1至7任一項所述的微服務(wù)代碼自動生成方法的步驟。