采用vue编写的功能强大的swagger-ui页面

摘要:
think-swagger-ui-vueleswagger-ui有非常多的版本,觉得不太好用,用postman,每个接口都要自己进行录入。所以在基于think-vuele进行了swagger格式json的解析,自己实现了一套swaggerui界面。swagger分为后端数据提供方方和前端页面展示请求方。主页对于我使用过的一个版本的swagger来说,当接口数量在1000+以上,会等的时间非常长,原因是他一次将所有接口数据进行解析渲染,这个就是慢的原因。swagger信息展示来源于后端swagger配置的相关信息在此处进行展示
think-swagger-ui-vuele

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_login

主页

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

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

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

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

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

swagger_simple

swagger_edit_json

swagger_custom_field

swagger_admin

设置

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

swagger_common_setting

swagger 信息展示

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

免责声明:文章转载自《采用vue编写的功能强大的swagger-ui页面》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Fiddler—APP抓包详解(十三)Windows桌面共享中一些常见的抓屏技术下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Vue实现左侧可伸缩

<template> <div class="main"> <div class="left_main" :class="{ left_main_show: !openStatus }"></div> <div class="right_main"> <div class="...

从零开始的野路子React/Node(7)将Swagger(OpenAPI)运用于后端API

之前公司做项目是用过swagger来配置python模型的API,感觉非常好用。swagger可以提供request, response甚至error的验证机制,十分便利。node当然也可以用啦。 我们需要使用的库主要是swagger-ui-express,它将提供swagger的相关功能以及一个UI,方便查看和调试。 1、初始设定 老规矩,我们还是通过e...

vue 动态加载图片路径报错解决方法

最近遇到图片路径加载报错的问题 之前一直都是把图片放到assets的文件下的。总是报错,看到一些文章并且尝试成功了,特意记录下 首先先说明下vue-cli的assets和static的两个文件的区别,因为这对你理解后面的解决办法会有所帮助  assets:在项目编译的过程中会被webpack处理解析为模块依赖,只支持相对路径的形式,如< img sr...

vue 调用本地json配置

在webpack.dev.conf.js文件中 /*----------------jsonServer---------*/ /*引入json-server*/const jsonServer = require('json-server') /*搭建一个server*/const apiServer =jsonServer.create() /*将d...

vue实现CheckBox与数组对象绑定

实现需求: 实现一个简易的购物车,页面的表格展示data数据中的一个数组对象,并提供选中商品和全选商品checkbox复选框,页面实时显示选中商品的总金额: 分析: 1:使用v-for循环渲染arraylist对象; 2:使用computed计算属性计算总价; 3:使用computed计算全选复选框是否应该被选中(商品列表如果都被勾选,则设置全选复选框的...

5款vue前端UI框架

Vue.js是一套构建用户界面的 渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。 实用的 Vue.js组件库可以帮助我们快速搭建页面,下面介绍小编认为比较受欢迎的五个vue前端ui框架。 TOP5——Vue-Blu Vue-Blu是基于Vuejs和Bulma开发的开源UI组件库。旨在为PC端的前端开发(特别是中后台产品)提供一...