System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 亚洲国产av无码精品,亚洲人成人伊人成综合网无码,国外AV无码精品国产精品
  • 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    基于GO語言應(yīng)用的接口掃描方法、裝置、設(shè)備及介質(zhì)制造方法及圖紙

    技術(shù)編號:44190338 閱讀:14 留言:0更新日期:2025-02-06 18:30
    本申請公開了一種基于GO語言應(yīng)用的接口掃描方法、裝置、設(shè)備及介質(zhì),涉及軟件開發(fā)技術(shù)領(lǐng)域,包括:在目標GO語言應(yīng)用的編譯過程中,若檢測到預(yù)設(shè)GO語言工具的啟用指令被觸發(fā),則獲取目標GO語言應(yīng)用中的目標代碼文件,生成目標代碼文件對應(yīng)的抽象語法樹;遍歷抽象語法樹,從抽象語法樹的各節(jié)點中確定接口節(jié)點,提取接口節(jié)點對應(yīng)的路由路徑和函數(shù)定義,其中,函數(shù)定義為節(jié)點中具體的函數(shù)實現(xiàn);基于各函數(shù)定義查找出接口節(jié)點中與函數(shù)定義對應(yīng)的傳入?yún)?shù)以及返回參數(shù);根據(jù)各接口節(jié)點、路由路徑、函數(shù)定義、對應(yīng)的傳入?yún)?shù)和返回參數(shù)生成接口掃描文檔。本申請能夠提高GO語言應(yīng)用中API文檔收集的效率。

    【技術(shù)實現(xiàn)步驟摘要】

    本申請涉及軟件開發(fā),尤其涉及一種基于go語言應(yīng)用的接口掃描方法、裝置、設(shè)備及介質(zhì)。


    技術(shù)介紹

    1、go語言是由google開發(fā)的一種靜態(tài)類型、編譯型的編程語言。go語言廣泛應(yīng)用于web服務(wù)、微服務(wù)架構(gòu)、云原生應(yīng)用和命令行工具等領(lǐng)域。

    2、api(application?programming?interface,應(yīng)用程序編程接口)定義了軟件組件之間如何交互,使得不同的系統(tǒng)和服務(wù)能夠無縫集成。隨著微服務(wù)架構(gòu)的流行,api的數(shù)量和復雜性也在不斷增加。因此,有效地管理和維護這些api變得尤為重要。然而,手動維護api文檔是一個耗時且容易出錯的過程,因此需要對api進行自動化掃描。目前,對go語言應(yīng)用進行api掃描的方法包括在代碼中添加特定注釋,然后使用工具解析這些注釋以生成文檔,這些方法都需要額外的手動配置。

    3、因此,如何提高go語言應(yīng)用中api接口收集的效率,是目前亟需解決的一個問題。

    4、上述內(nèi)容僅用于輔助理解本申請的技術(shù)方案,并不代表承認上述內(nèi)容是現(xiàn)有技術(shù)。


    技術(shù)實現(xiàn)思路

    1、本申請的主要目的在于提供一種基于go語言應(yīng)用的接口掃描方法、裝置、設(shè)備及介質(zhì),旨在解決如何提高go語言應(yīng)用中api接口收集的效率的技術(shù)問題。

    2、為實現(xiàn)上述目的,本申請?zhí)岢鲆环N基于go語言應(yīng)用的接口掃描方法,應(yīng)用于預(yù)設(shè)go語言工具,所述基于go語言應(yīng)用的接口掃描方法包括:

    3、在目標go語言應(yīng)用的編譯過程中,若檢測到所述預(yù)設(shè)go語言工具的啟用指令被觸發(fā),則獲取所述目標go語言應(yīng)用中的目標代碼文件,生成所述目標代碼文件對應(yīng)的抽象語法樹;

    4、遍歷所述抽象語法樹,從所述抽象語法樹的各節(jié)點中確定接口節(jié)點,提取所述接口節(jié)點對應(yīng)的路由路徑和函數(shù)定義,其中,所述函數(shù)定義為所述節(jié)點中具體的函數(shù)實現(xiàn);

    5、基于各所述函數(shù)定義查找出所述接口節(jié)點中與所述函數(shù)定義對應(yīng)的傳入?yún)?shù)以及返回參數(shù);

    6、根據(jù)各所述接口節(jié)點、所述路由路徑、所述函數(shù)定義、對應(yīng)的所述傳入?yún)?shù)和所述返回參數(shù)生成接口掃描文檔。

    7、在一實施例中,其特征在于,所述生成所述目標代碼文件對應(yīng)的抽象語法樹的步驟,包括:

    8、基于預(yù)設(shè)系統(tǒng)交互接口獲取文件操作模板,通過調(diào)用所述文件操作模板讀取所述目標代碼文件;

    9、基于讀取后的目標代碼文件創(chuàng)建文件集,并在所述文件集中記錄所述目標代碼文件中各源代碼的位置信息;

    10、根據(jù)各所述源代碼的位置信息對所述目標代碼文件進行解析,得到第一解析結(jié)果,根據(jù)所述第一解析結(jié)果確定所述目標代碼文件對應(yīng)的抽象語法樹。

    11、在一實施例中,所述遍歷所述抽象語法樹,從所述抽象語法樹的各節(jié)點中確定接口節(jié)點,提取所述接口節(jié)點對應(yīng)的路由路徑和函數(shù)定義的步驟,包括:

    12、遍歷所述抽象語法樹中的所有節(jié)點,確定所述抽象語法樹中的函數(shù)調(diào)用節(jié)點,其中,所述抽象語法樹中的節(jié)點包括函數(shù)調(diào)用節(jié)點、函數(shù)聲明節(jié)點、變量聲明節(jié)點、導入聲明節(jié)點、表達式節(jié)點和語句節(jié)點,所述函數(shù)調(diào)用節(jié)點用于調(diào)用已經(jīng)定義好的函數(shù),并執(zhí)行函數(shù)定義相應(yīng)的操作;

    13、對于每一個所述函數(shù)調(diào)用節(jié)點,判斷各所述函數(shù)調(diào)用節(jié)點的調(diào)用函數(shù)是否為接口調(diào)用函數(shù),其中,所述接口調(diào)用函數(shù)用于調(diào)用外部接口實現(xiàn)目標go語言應(yīng)用中的功能;

    14、若確定所述函數(shù)調(diào)用節(jié)點的調(diào)用函數(shù)為接口調(diào)用函數(shù),則確定所述函數(shù)調(diào)用節(jié)點為接口節(jié)點,從各所述接口節(jié)點中提取路由路徑和函數(shù)定義。

    15、在一實施例中,所述對于每一個所述函數(shù)調(diào)用節(jié)點,判斷各所述函數(shù)調(diào)用節(jié)點的調(diào)用函數(shù)是否為接口調(diào)用函數(shù)的步驟,包括:

    16、對于每一個所述函數(shù)調(diào)用節(jié)點,獲取各所述函數(shù)調(diào)用節(jié)點的函數(shù)名;

    17、將各所述函數(shù)調(diào)用節(jié)點的所述函數(shù)名與預(yù)設(shè)路由注冊函數(shù)的函數(shù)名進行匹配,確定匹配成功的函數(shù)調(diào)用節(jié)點為路由注冊函數(shù)節(jié)點;

    18、獲取各所述路由注冊函數(shù)節(jié)點的調(diào)用函數(shù),并確定各所述調(diào)用函數(shù)是否與http(hypertext?transfer?protocol,超文本傳輸協(xié)議)方法匹配;

    19、若確定所述路由注冊函數(shù)節(jié)點的調(diào)用函數(shù)與http函數(shù)匹配,則確定匹配成功的所述路由注冊函數(shù)節(jié)點的調(diào)用函數(shù)為接口調(diào)用函數(shù)。

    20、在一實施例中,所述確定各所述調(diào)用函數(shù)是否與http函數(shù)匹配的步驟,包括:

    21、獲取各所述調(diào)用函數(shù)的參數(shù)列表;

    22、檢測各所述參數(shù)列表中是否存在預(yù)設(shè)接口標識符;

    23、若所述參數(shù)列表中存在所述預(yù)設(shè)接口標識符,則確定存在所述預(yù)設(shè)接口標識符的參數(shù)列表對應(yīng)的調(diào)用函數(shù)與http函數(shù)匹配。

    24、在一實施例中,所述提取所述接口節(jié)點對應(yīng)的路由路徑和函數(shù)定義的步驟,包括:

    25、從各所述接口節(jié)點對應(yīng)接口調(diào)用函數(shù)的參數(shù)列表中獲取路徑字符串,并從所述路徑字符串中提取路由路徑;

    26、從各所述接口節(jié)點對應(yīng)的接口調(diào)用函數(shù)的參數(shù)列表中獲取處理函數(shù),通過反射獲取所述處理函數(shù)的參數(shù)類型和返回值類型,并根據(jù)所述參數(shù)類型和返回值類型確定函數(shù)定義,所述處理函數(shù)為用于處理特定http請求的函數(shù)。

    27、在一實施例中,所述根據(jù)各所述接口節(jié)點、所述路由路徑、所述函數(shù)定義、對應(yīng)的所述傳入?yún)?shù)和所述返回參數(shù)生成接口掃描文檔的步驟,包括:

    28、將每個所述接口節(jié)點的路由路徑、所述函數(shù)定義,對應(yīng)的所述傳入?yún)?shù)和所述返回參數(shù)按照預(yù)設(shè)結(jié)構(gòu)化數(shù)據(jù)格式存儲為相應(yīng)所述接口節(jié)點的接口信息;

    29、根據(jù)各所述接口節(jié)點的所述接口信息生成接口掃描文檔。

    30、此外,為實現(xiàn)上述目的,本申請還提出一種基于go語言應(yīng)用的接口掃描裝置,所述基于go語言應(yīng)用的接口掃描裝置包括:

    31、生成模塊,用于在目標go語言應(yīng)用的編譯過程中,若檢測到預(yù)設(shè)go語言工具的啟用指令被觸發(fā),則獲取所述目標go語言應(yīng)用中的目標代碼文件,生成所述目標代碼文件對應(yīng)的抽象語法樹;

    32、提取模塊,用于遍歷所述抽象語法樹,從所述抽象語法樹的各節(jié)點中確定接口節(jié)點,提取所述接口節(jié)點對應(yīng)的路由路徑和函數(shù)定義,其中,所述函數(shù)定義為所述節(jié)點中具體的函數(shù)實現(xiàn);

    33、查找模塊,用于基于各所述函數(shù)定義查找出所述接口節(jié)點中與所述函數(shù)定義對應(yīng)的傳入?yún)?shù)以及返回參數(shù);

    34、掃描模塊,用于根據(jù)各所述接口節(jié)點、所述路由路徑、所述函數(shù)定義、對應(yīng)的所述傳入?yún)?shù)和所述返回參數(shù)生成接口掃描文檔。

    35、此外,為實現(xiàn)上述目的,本申請還提出一種基于go語言應(yīng)用的接口掃描設(shè)備,所述設(shè)備包括:存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,所述計算機程序配置為實現(xiàn)如上文所述的基于go語言應(yīng)用的接口掃描方法的步驟。

    36、此外,為實現(xiàn)上述目的,本申請還提出一種存儲介質(zhì),所述存儲介質(zhì)為計算機可讀存儲介質(zhì),所述存儲介質(zhì)上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如上文本文檔來自技高網(wǎng)...

    【技術(shù)保護點】

    1.一種基于GO語言應(yīng)用的接口掃描方法,其特征在于,應(yīng)用于預(yù)設(shè)GO語言工具,所述基于GO語言應(yīng)用的接口掃描方法包括:

    2.如權(quán)利要求1所述的基于GO語言應(yīng)用的接口掃描方法,其特征在于,所述生成所述目標代碼文件對應(yīng)的抽象語法樹的步驟,包括:

    3.如權(quán)利要求1所述的基于GO語言應(yīng)用的接口掃描方法,其特征在于,所述遍歷所述抽象語法樹,從所述抽象語法樹的各節(jié)點中確定接口節(jié)點,提取所述接口節(jié)點對應(yīng)的路由路徑和函數(shù)定義的步驟,包括:

    4.如權(quán)利要求3所述的基于GO語言應(yīng)用的接口掃描方法,其特征在于,所述對于每一個所述函數(shù)調(diào)用節(jié)點,判斷各所述函數(shù)調(diào)用節(jié)點的調(diào)用函數(shù)是否為接口調(diào)用函數(shù)的步驟,包括:

    5.如權(quán)利要求4所述的基于GO語言應(yīng)用的接口掃描方法,其特征在于,所述確定各所述調(diào)用函數(shù)是否與HTTP函數(shù)匹配的步驟,包括:

    6.如權(quán)利要求1所述的基于GO語言應(yīng)用的接口掃描方法,其特征在于,所述提取所述接口節(jié)點對應(yīng)的路由路徑和函數(shù)定義的步驟,包括:

    7.如權(quán)利要求1所述的基于GO語言應(yīng)用的接口掃描方法,其特征在于,所述根據(jù)各所述接口節(jié)點、所述路由路徑、所述函數(shù)定義、對應(yīng)的所述傳入?yún)?shù)和所述返回參數(shù)生成接口掃描文檔的步驟,包括:

    8.一種基于GO語言應(yīng)用的接口掃描裝置,其特征在于,應(yīng)用于預(yù)設(shè)GO語言工具,所述基于GO語言應(yīng)用的接口掃描裝置包括:

    9.一種基于GO語言應(yīng)用的接口掃描設(shè)備,其特征在于,所述設(shè)備包括:存儲器、處理函數(shù)及存儲在所述存儲器上并可在所述處理函數(shù)上運行的計算機程序,所述計算機程序配置為實現(xiàn)如權(quán)利要求1至7中任一項所述的基于GO語言應(yīng)用的接口掃描方法的步驟。

    10.一種存儲介質(zhì),其特征在于,所述存儲介質(zhì)為計算機可讀存儲介質(zhì),所述介質(zhì)上存儲有計算機程序,所述計算機程序被處理函數(shù)執(zhí)行時實現(xiàn)如權(quán)利要求1至7中任一項所述的基于GO語言應(yīng)用的接口掃描方法的步驟。

    ...

    【技術(shù)特征摘要】

    1.一種基于go語言應(yīng)用的接口掃描方法,其特征在于,應(yīng)用于預(yù)設(shè)go語言工具,所述基于go語言應(yīng)用的接口掃描方法包括:

    2.如權(quán)利要求1所述的基于go語言應(yīng)用的接口掃描方法,其特征在于,所述生成所述目標代碼文件對應(yīng)的抽象語法樹的步驟,包括:

    3.如權(quán)利要求1所述的基于go語言應(yīng)用的接口掃描方法,其特征在于,所述遍歷所述抽象語法樹,從所述抽象語法樹的各節(jié)點中確定接口節(jié)點,提取所述接口節(jié)點對應(yīng)的路由路徑和函數(shù)定義的步驟,包括:

    4.如權(quán)利要求3所述的基于go語言應(yīng)用的接口掃描方法,其特征在于,所述對于每一個所述函數(shù)調(diào)用節(jié)點,判斷各所述函數(shù)調(diào)用節(jié)點的調(diào)用函數(shù)是否為接口調(diào)用函數(shù)的步驟,包括:

    5.如權(quán)利要求4所述的基于go語言應(yīng)用的接口掃描方法,其特征在于,所述確定各所述調(diào)用函數(shù)是否與http函數(shù)匹配的步驟,包括:

    6.如權(quán)利要求1所述的基于go語言應(yīng)用的接口掃描方法,其特征在于...

    【專利技術(shù)屬性】
    技術(shù)研發(fā)人員:陸志鵬韓光李嘉寧鄭曦郭祎萍范國浩劉彬彬馬博原屈鵬琦歐冰鵬
    申請(專利權(quán))人:中電數(shù)據(jù)產(chǎn)業(yè)集團有限公司
    類型:發(fā)明
    國別省市:

    網(wǎng)友詢問留言 已有0條評論
    • 還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 国产av永久无码天堂影院| 日韩精品无码成人专区| 亚洲最大天堂无码精品区| 精品久久久久久无码中文野结衣 | 小泽玛丽无码视频一区| 亚洲av无码av制服另类专区| 亚洲另类无码专区首页| 亚洲午夜福利AV一区二区无码| 少妇仑乱A毛片无码| 无码乱人伦一区二区亚洲一| 亚洲精品无码专区在线| 日日摸日日踫夜夜爽无码| 人妻系列无码专区久久五月天| 久久久久无码精品国产| 亚洲V无码一区二区三区四区观看 亚洲爆乳精品无码一区二区三区 亚洲爆乳无码一区二区三区 | 色欲AV永久无码精品无码| 亚洲AV无码专区亚洲AV伊甸园| 亚洲免费无码在线| 人妻在线无码一区二区三区| 精品亚洲AV无码一区二区| 亚洲AV无码一区东京热久久| 人妻AV中出无码内射| 国产成人无码网站| 黄色成人网站免费无码av| 久久亚洲精品无码aⅴ大香| 国产精品亚韩精品无码a在线| 亚洲人成无码网WWW| 亚洲免费日韩无码系列 | 无码人妻一区二区三区免费手机| 在线高清无码A.| 亚洲av无码不卡久久| 无码人妻AV一二区二区三区| 东京热无码一区二区三区av| 久久久久无码专区亚洲av| 熟妇人妻系列av无码一区二区| 国产成人无码一二三区视频| 成人无码A区在线观看视频| 中文字幕丰满乱孑伦无码专区| 免费无码又爽又刺激一高潮| 亚洲VA中文字幕无码一二三区| 日韩精品无码中文字幕一区二区|