快速导出接口设计表——基于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.mzph.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推理方法的相关工作