快速導出接口設計表——基于DOMParser的Swagger接口詳情半自動化提取方法

?

作者聲明:不想看作者聲明的(需要生成接口設計表的)直接前往https://capujin.github.io/A2T/

注:Github Pages生成的頁面可能會出現訪問不穩定,暫時沒將源碼上傳至Github,如有需要,可聯系我私發。

前言

使用:打開你的swagger網頁,展開你需要導出表的api詳細,F12打開控制臺,打開“元素”面板,向上滑動找到html標簽,右擊選擇復制標簽/復制html啥的,然后打開上面的網站復制到輸入區,單擊“開始解析”按鈕。

效果展示:

第1章 緒論

空格發牢騷

1.1 研究背景與意義

空格我選題是xx系統的設計與實現,然后其中一章我定為“系統設計”,然后在這展示詳細的“接口設計”(見圖1-1)。使用《基于DOMParser的Swagger接口詳細半自動化提取方法》可以快速幫助實現多接口設計表的插入。

圖1-1 系統設計子標題

1.2 研究現狀

1.2.1 前輩的研究現狀

空格參考了多位前輩的接口設計篇,無一例外用的類三線表,如圖1-2所示:

圖1-2 前輩的接口設計表

1.2.2 我的研究現狀

空格但是...但是我的這破玩意太多了,一想到六個模塊我要寫這么多英文字母,我就想爆粗,實在是干不動了。

圖1-3 我的Swagger接口組

空格去網上各種扒,“一鍵生成接口設計表”、“接口表在線生成”、“Swagger接口轉表格”....結果一無所獲,更煩了。

1.3 本章小結

空格本章詳細闡述了作者發布這篇CSDN的原因,同時為了湊頁數和水字數,作者決定攻克接口設計表快速生成這一耗時問題,提供實用方案。經過詳細分析,作者發現該方法存在明顯的適配性和限制性缺陷,主要適用于后端已集成Swagger作為接口文檔工具,并且使用者正處于撰寫系統接口設計文檔階段的場景。因此,本章不僅介紹了這一快速生成方法,還通過對其局限性的深入探討,幫助讀者更全面地了解其適用范圍,避免在實際項目中不恰當地使用,從而節省時間和資源。

第2章? 相關技術概述

空格但我學的啥?前端啊!別的不會,F12打開個控制臺copy個網頁源碼,然后拿源碼提取關鍵信息借助ChatGPT來幫我轉成表格還不會嗎?(!腦袋上一個電燈泡)

2.1 開發人員工具

空格打開Swagger頁面,按F12或Ctrl+shift+I即可打開“控制臺”面板(如圖2-1所示)。需要關注的為:

圖2-1 控制臺面板

空格① 元素檢查。使用方法,點擊后將鼠標移至頁面視圖,會自動在③中高亮指定代碼塊。

空格② 控制臺。使用方法,運行js代碼。

空格③ 元素。使用方法,和①相反鼠標指定代碼塊,會自動在頁面視圖高亮指定區域,如圖2-2所示:

圖2-2 鼠標在代碼塊時的頁面效果

2.2?DOMParser

空格DOMParser是Web API中文檔對象模型的API,? 可以將存儲在字符串中的 XML 或 HTML 源代碼解析為一個 DOM Document。 ?說人話就是DOMParser 是瀏覽器內置對象可以用new語法,它可以把一段HTML 字符串轉成可以用JS代碼操作的dom結構。

圖2-3 DOMParser使用示例

2.3 Vue3 + Vite

空格vite快速初始化、打包配合vue3響應式處理,嗷嗷叫的快。

2.4 其他第三方庫

2.4.1 Element Plus

空格都快成vue項目的標配組件庫了。

2.4.2?Supabase.js

空格一個開源的線上數據庫,每個月有限制可調用的tokens,適合我這種沒服務器的還有時候需要搞點線上服務的。

2.4.3?Intro.js

空格一個用于制作網頁引導效果的js插件,用法很簡單。

2.4.4?Pixpin

空格一個用于電腦截圖的強大截圖工具,支持橫向/豎向滾動截屏。下載地址:https://pixpin.cn/

?2.4.5?Gihub Pages

空格GitHub Pages 是由 GitHub 提供的一項免費服務,允許用戶將代碼倉庫(repository)中的靜態內容發布為網站,相當于免費將自己的demo部署到線上,讓所有可訪問。

第3章 需求分析

空格這個系統的主旨就是為了免費幫助那些,那些寫論文的,計算機論文的,尤其是寫系統設計類論文的并且還想在論文開一篇名為“接口設計”篇來水頁數字數的,在網上苦苦找尋不到一鍵生成設計表的,又懶得自己在word里一點點敲的,恰巧后端代碼用了swagger的,苦逼大學生的。

空格作為符合以上需求的苦逼大學生,現將我的需求分析如下:

空格1. 能根據我的Swagger網頁源碼抽取我想要的結構,包括接口名、請求方式、請求參數,相應類型等內容,如圖3-1所示:

圖3-1 Swagger抽取目標內容

空格2. 抽取后,應該能在頁面生成表格,并且表格要支持修改,比如自定義列寬、自定義表頭、自定義表格邊框線等表格操作。

空格3. 滿足上面兩個核心需求后,接下來就是擴展需求了,比如對表格樣式的自定義配置要實現存儲、讀取功能,對抽取內容進行編輯,比如某個抽取的內容不滿意要能提供手動修改等等。

第4章 系統設計與實現

空格根據上一章的分析,我們大致明確了系統需要實現什么功能,下面將對系統的設計與實現做出詳細概述。

空格系統主界面如下圖4-1所示,左側為輸入html數據源,右側為視圖窗口,左下角為功能區。

圖4-1 系統主界面

空格在點擊“開始解析”按鈕后,在視圖區會加載解析結果(如圖4-2所示),同時“開始解析”變成“已解析”字樣。

圖4-2 解析結果視圖

空格在右側視圖標題右側,可點擊“切換視圖”按鈕,切換到指定視圖,如圖4-3所示。

圖4-3 切換視圖功能

第5章 結語

空格兩天的時間匆忙寫完,肯定有諸多bug,希望諸位同僚能不吝賜教,向我反饋一切讓你感到蹩腳的問題,與君共勉!

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/72516.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/72516.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/72516.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

TS常見內置映射類型的實現及應用場景

以下是 TypeScript 在前端項目中 常用的映射類型&#xff08;Mapped Types&#xff09;&#xff0c;結合具體場景和代碼示例&#xff0c;幫助開發者高效處理復雜類型&#xff1a; 一、基礎映射類型 1. Partial<T> 作用&#xff1a;將對象類型 T 的所有屬性變為可選。 實…

介紹如何使用YOLOv8模型進行基于深度學習的吸煙行為檢測

下面為你詳細介紹如何使用YOLOv8模型進行基于深度學習的吸煙行為檢測&#xff0c;包含環境配置、數據準備、模型訓練以及推理等步驟。 1. 環境配置 首先&#xff0c;你需要安裝必要的庫&#xff0c;主要是ultralytics庫&#xff0c;它包含了YOLOv8模型。你可以使用以下命令進…

AI-醫學影像分割方法與流程

AI醫學影像分割方法與流程–基于低場磁共振影像的病灶識別 – 作者:coder_fang AI框架&#xff1a;PaddleSeg 數據準備&#xff0c;使用MedicalLabelMe進行dcm文件標注&#xff0c;產生同名.json文件。 編寫程序生成訓練集圖片&#xff0c;包括掩碼圖。 代碼如下: def doC…

【Python】09、字典

文章目錄 1. 字典簡介2. 字典的使用2.1 字典創建2.2 字典值獲取2.3 字典值修改2.4 字典的刪除 3. 字典的遍歷 1. 字典簡介 字典(dict)屬于一種新的數據結構&#xff0c;稱為映射(mapping)。 字典的作用和列表類似&#xff0c;但是查詢性能比列表好&#xff1b;在字典中每個元…

【貪心算法4】

力扣452.用最少數量的剪引爆氣球 鏈接: link 思路 這道題的第一想法就是如果氣球重疊得越多那么用箭越少&#xff0c;所以先將氣球按照開始坐標從小到大排序&#xff0c;遇到有重疊的氣球&#xff0c;在重疊區域右邊界最小值之前的區域一定需要一支箭&#xff0c;這道題有兩…

SGMEA: Structure-Guided Multimodal Entity Alignment

3 Method 3.1 Problem Definition 3.2 Framework Description 總體框架如圖2所示&#xff0c;由三個主要部分組成&#xff1a;初始嵌入采集模塊、結構引導模塊和模態融合模塊。 3.3 Initial Embedding Acquisition 3.3.1 Structural Embedding 3.3.2 Relation, Attribute, …

KY-038 聲音傳感器如何工作以及如何將其與 ESP32 連接

想為您的項目賦予聲音感!然后跟著做,因為在這個項目中,我們將連接一個聲音傳感器,用它構建一些有趣的項目。我們使用的 KY-038 聲音傳感器使用電容式麥克風來檢測聲波,這為我們提供了穩定性和可靠性的完美平衡。因此,在本文中,我們決定將 KY-038 傳感器與 ESP32 連接,并…

《基于超高頻RFID的圖書館管理系統的設計與實現》開題報告

一、研究背景與意義 1.研究背景 隨著信息化時代的到來&#xff0c;運用計算機科學技術實現圖書館的管理工作已成為優勢。更加科學地管理圖書館會大大提高工作效率。我國的圖書管理體系發展經歷了三個階段&#xff1a;傳統圖書管理模式、現代圖書管理模式以及基于無線射頻識別&…

[local-file-system]基于服務器磁盤的本地文件存儲方案

[local-file-system]基于服務器磁盤的本地文件存儲方案 僅提供后端方案 github 環境 JDK11linux/windows/mac 應用場景 適用于ToB業務&#xff0c;中小企業的單體服務&#xff0c;僅使用磁盤存儲文件的解決方案 僅使用服務器磁盤存儲 與業務實體相結合的文件存儲方案&…

P5708 【深基2.習2】三角形面積(洛谷—python)

題目描述 一個三角形的三邊長分別是 a、b、c&#xff0c;那么它的面積為 p(p?a)(p?b)(p?c)?&#xff0c;其中 p21?(abc)。輸入這三個數字&#xff0c;計算三角形的面積&#xff0c;四舍五入精確到 1 位小數。 輸入格式 第一行輸入三個實數 a,b,c&#xff0c;以空格隔開…

智慧加油站小程序數據庫設計文檔

智慧加油站系統 - 數據庫與API設計文檔 1. 數據庫設計 1.1 ER模型 系統的核心實體關系如下&#xff1a; 用戶(User) ---< 訂單(Order) ---< 加油記錄(RefuelRecord)| | || | vv v …

C++博客分享

本周的一些 C視頻分享, 或許后續會做一些內容總結. 博客 Polymorphic, Defaulted EqualityConstexpr factors_ofC26: Removing language featuresBypassing the branch predictor Meeting C 2024 Clean CMake for C (library) developers - Kerstin KellerAn Introduction …

【藍橋杯每日一題】3.16

&#x1f3dd;?專欄&#xff1a; 【藍橋杯備篇】 &#x1f305;主頁&#xff1a; f狐o貍x 目錄 3.9 高精度算法 一、高精度加法 題目鏈接&#xff1a; 題目描述&#xff1a; 解題思路&#xff1a; 解題代碼&#xff1a; 二、高精度減法 題目鏈接&#xff1a; 題目描述&…

vue 仿deepseek前端開發一個對話界面

后端&#xff1a;調用deepseek的api&#xff0c;所以返回數據格式和deepseek相同 {"model": "DeepSeek-R1-Distill-Qwen-1.5B", "choices": [{"index": 0, "delta": {"role": "assistant", "cont…

SpringMVC(五)攔截器

目錄 攔截器基本概念 一 單個攔截器的執行 1 創建攔截器 2 SpringMVC配置&#xff0c;并指定攔截路徑。 3 運行結果展示&#xff1a; 二 多個攔截器的執行順序 三 攔截器與過濾器的區別 攔截器基本概念 SpringMVC內置攔截器機制&#xff0c;允許在請求被目標方法處理的…

Hive SQL 精進系列:PERCENTILE_APPROX 搞定分位數

目錄 一、引言二、percentile_approx 函數基礎2.1 基本語法參數解釋返回值簡單示例 三、應用場景3.1 數據分析與報告3.2 數據清洗與異常值檢測3.3 性能監控與優化 四、使用注意事項4.1 數據類型要求4.2 精度與性能平衡4.3 空值處理 五、總結 一、引言 百分位數作為一種常用的統…

pytorch快速入門——手寫數字分類GPU加速

&#x1f451;主頁&#xff1a;吾名招財 &#x1f453;簡介&#xff1a;工科學碩&#xff0c;研究方向機器視覺&#xff0c;愛好較廣泛… ?&#x1f4ab;簽名&#xff1a;面朝大海&#xff0c;春暖花開&#xff01; pytorch快速入門——手寫數字分類GPU加速 一、tensor1&#…

【開源免費】基于SpringBoot+Vue.JS電商應用系統(JAVA畢業設計)

本文項目編號 T 242 &#xff0c;文末自助獲取源碼 \color{red}{T242&#xff0c;文末自助獲取源碼} T242&#xff0c;文末自助獲取源碼 目錄 一、系統介紹二、數據庫設計三、配套教程3.1 啟動教程3.2 講解視頻3.3 二次開發教程 四、功能截圖五、文案資料5.1 選題背景5.2 國內…

經歷過的IDEA+Maven+JDK一些困惑

注意事項&#xff1a;由于使用過程中是IDEA綁定好另外2個工具&#xff0c;所以報錯統一都顯示在控制臺&#xff0c;但要思考和分辨到底是IDEA本身問題導致的報錯&#xff0c;還是maven導致的 使用前的配置 編輯期 定義&#xff1a;指的是從open projects開始&#xff0c;到執行…

【推理】大模型ReasonGraph:推理路徑的可視化論文及代碼分析

ReasonGraph:推理路徑的可視化 ReasonGraph demo http://192.168.50.197:5001/ 作者的其他論文 ** ** LLM推理方法的相關工作