查看原文
其他

一款vue编写的功能强大的swagger-ui,有点秀(附开源地址)

文章来源:cnblogs.com/RegicideGod/p/12598278.html

前言

swagger-ui有非常多的版本,觉得不太好用,用postman,每个接口都要自己进行录入。所以在基于think-vuele进行了swagger格式json的解析,自己实现了一套 swaggerui 界面。

swagger 分为后端数据提供方方和前端页面展示请求方。从一定角度来看,swagger 是一种标准的数据格式的定义,对于不同语言进行实现一些注解 API 式的东西,能快速生成这种描述restful格式的api信息的json串.

此项目模块依赖于 think-vuele

demo:http://sw.tennetcn.com

github:https://github.com/chfree/think-swagger-ui-vuele

使用方式

自行下载编译

// 下载代码
git clone https://github.com/chfree/think-swagger-ui-vuele

// 安装依赖
npm install

// 直接运行
npm run dev

// 打包
npm run build

java 项目 maven 直接依赖#

<dependency>
<groupId>com.tennetcn.free</groupId>
<artifactId>think-swagger-ui-starter</artifactId>
<version>0.0.4</version>
</dependency>

此 jar 包的开源项目为 think-free-base中的子项目模块

登陆

登陆界面分为json模式和swagger请求地址访问,没多大区别,只有拿到标准的swaggerjson数据即可。

支持两种主题,一种是后端管理系统模式的主题。另外一种也是类似,中间 1024px 进行居中,两边留白。

主页

对于我使用过的一个版本的swagger来说,当接口数量在1000+以上,会等的时间非常长,原因是他一次将所有接口数据进行解析渲染,这个就是慢的原因。

所以我将此进行优化,改为先解析出api摘要信息,然后在点击摘要的时候进行请求头、请求体的渲染;基本可以做到秒开

可以自动填充非json请求体的数据,采用的是mock.Random

对于 json 请求体的数据,可以进行json格式化编辑,也是非常方便。json在线格式化编辑使用的是josdejong大神的 jsoneditor

对于响应数据直接采用json格式化组件进行格式化展示,支持展开层级。再也不用将返回的数据在去找相关的json格式化工具进行格式化了。格式化控件采用的是chenfengjw163大神的 vue-json-viewer

设置

在后端 api 请求的时候,一般都会在请求头中带一些 token 的验证,来进行用户标识,所以在设置中,进行了自定义请求头的设置,可以方便的设置相关的请求头, 在任何一个请求都会自动带上设置的请求信息。

swagger 信息展示

来源于后端 swagger 配置的相关信息在此处进行展示

回复 【idea激活】即可获得idea的激活方式

回复 【Java】获取java相关的视频教程和资料

回复 【SpringCloud】获取SpringCloud相关多的学习资料

回复 【python】获取全套0基础Python知识手册

回复 【2020】获取2020java相关面试题教程

回复 【加群】即可加入终端研发部相关的技术交流群

阅读更多

一个人如何完成一个小程序?

你真的了解 volatile 关键字吗?

我的鸿蒙 2.0 App 到底是什么

你的登录接口真的安全吗?

面试官:Controller是单例还是多例?

来,教你做个属于自己的 Markdown 编辑器

图解 Java 垃圾回收机制,写得非常好!

淘宝为什么能抗住双 11 ?看完这篇文章你就明白了!

在这里获得的不仅仅是技术!


喜欢就给个“在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存