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