前言

相信无论是前端或是后端的程序员对Swagger都不怎么陌生,没有用过应该也听说过

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。

简单的配置后,就能生成一份清晰的API文档。

但是不知道大家有没有发现Swagger原生的ui似乎并不支持对请求头的操作,在我之前整合JWT时遇到过这样的问题,当时的解决办法是设置全局参数。但对我来说还是花费了一些时间去学习,但是这样的方法只能适用于特定的请求头,耦合度很高,如果需要别的参数,还要再修改代码。

下面就介绍三种Swagger的增强ui

一、swagger-mg-ui

简介

开源地址Gitee

swagger-mg-ui是swagger的一个前端实现,使用简单、解析速度快、走心的设计,支持多项目同时展示,多种文档目录的展示方案,多种自定义配置,满足各种使用习惯。

使用

非常简单,只需要添加如下maven依赖即可

<!-- https://mvnrepository.com/artifact/com.zyplayer/swagger-mg-ui -->
<dependency>
<groupId>com.zyplayer</groupId>
<artifactId>swagger-mg-ui</artifactId>
<version>1.0.6</version>
</dependency>

启动后访问:http://localhost:8080/document.html查看

功能

ui支持多种树形菜单展示方式,但我感觉有点不好的是,所有请求的颜色都是一样的,不像原生ui那样清晰明了。

swagger-mg-ui支持对请求头的设置,并且对请求做了持久化,会记录你测试过的请求,不过有点不好的是它是将数据存在了LocalStorage里,就是说如果测试的多了,会占一些空间。

二、swagger-ui-layer

简介

开源地址: Gitee

swagger-ui-layer 是一个基于swagger的前端UI实现,是为了替换了默认的swagger-ui,让生成的文档更加友好和美观。

swagger-ui-layer看名字也能知道这个ui和layui有点关系了,swagger-ui-layer确实是layui风格,但是很不幸的是此项目已经停止维护,不兼容最新的SpringBoot和Swagger。暂时放弃(就是个凑数的)

官网演示的截图

三、knife4j

简介

开源地址: Gitee

官网地址knife4j

knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案,前身是swagger-bootstrap-ui,取名kni4j是希望她能像一把匕首一样小巧,轻量,并且功能强悍!

knife4j的前身是swagger-bootstrap-ui,为了契合微服务的架构发展,由于原来swagger-bootstrap-ui采用的是后端Java代码+前端Ui混合打包的方式,在微服务架构下显的很臃肿,因此项目正式更名为knife4j

这应该是最好的一个Swagger增强项目了,目前仍在维护,并且是码云的GVP项目。另外值得一提的是此项目支持再SpringCloud微服务架构下使用,不需要在每个微服务下引入ui资源。功能之全恐怕我介绍不完,需要大家自己摸索。

使用

非常简单,同样是一个以来的事情

<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-ui</artifactId>
<version>${lastVersion}</version>
</dependency>

然后启动项目访问:http://localhost:8080/doc.html查看

功能

这个ui的功能就像是整合进项目的PostMan,还贴心的做了一个标签页,支持设置请求头请求参数,支持导出文档离线阅读。

还有一个非常好用的功能是支持全局参数的设置,还记得我之前所说的JWT调试的事情吗,这个项目似乎就是为了调试JWT所生一般,只需添加全局请求头便能测试所有接口,非常的方便

给你的Swagger文档换套附魔皮肤吧的更多相关文章

  1. 利用typescript生成Swagger文档

    项目地址:https://github.com/wz2cool/swagger-ts-doc demo代码地址:https://github.com/wz2cool/swagger-ts-doc-de ...

  2. revel + swagger 文档也能互动啦

    beego 从 1.3 后开始支持自动化API文档,不过,目测比较复杂,一直期望 revel 能有官方支持. revel 确实已经有了官方支持的计划,有可能将在 0.14 版本支持,现在才 0.11. ...

  3. Swagger文档转Word 文档

    GitHub 地址:https://github.com/JMCuixy/SwaggerToWord/tree/developer 原创作品,转载请注明出处:http://www.cnblogs.co ...

  4. 使用 Swagger 文档化和定义 RESTful API

    大部分 Web 应用程序都支持 RESTful API,但不同于 SOAP API——REST API 依赖于 HTTP 方法,缺少与 Web 服务描述语言(Web Services Descript ...

  5. springboot成神之——swagger文档自动生成工具

    本文讲解如何在spring-boot中使用swagger文档自动生成工具 目录结构 说明 依赖 SwaggerConfig 开启api界面 JSR 303注释信息 Swagger核心注释 User T ...

  6. asp.net core 2.1 生成swagger文档

    新建asp.netcore2.1 api项目 “WebApplication1” 在nuget管理器中添加对Swashbuckle.AspNetCore 3.0.0.Microsoft.AspNetC ...

  7. Swagger文档转Word

    Swagger文档转Word 文档   GitHub 地址:https://github.com/JMCuixy/SwaggerToWord/tree/developer 原创作品,转载请注明出处:h ...

  8. Spring Boot:整合Swagger文档

    综合概述 spring-boot作为当前最为流行的Java web开发脚手架,越来越多的开发者选择用其来构建企业级的RESTFul API接口.这些接口不但会服务于传统的web端(b/s),也会服务于 ...

  9. asp.net core web api 生成 swagger 文档

    asp.net core web api 生成 swagger 文档 Intro 在前后端分离的开发模式下,文档就显得比较重要,哪个接口要传哪些参数,如果一两个接口还好,口头上直接沟通好就可以了,如果 ...

随机推荐

  1. Python获取当前时间_获取格式化时间_格式化日期

    Python获取当前时间_获取格式化时间: Python获取当前时间: 使用 time.time( ) 获取到距离1970年1月1日的秒数(浮点数),然后传递给 localtime 获取当前时间 #使 ...

  2. PHP atan() 函数

    实例 通过 atan() 函数返回不同数的反正切: <?phpecho(atan(0.50) . "<br>");echo(atan(-0.50) . " ...

  3. bzoj 1515 [POI2006]Lis-The Postman 有向图欧拉回路

    LINK:Lis-The Postman 看完题觉得 虽然容易发现是有向图欧拉回路 但是觉得很难解决这个问题. 先分析一下有向图的欧拉回路:充要条件 图中每个点的入度-出度=0且整张图是一个强连通分量 ...

  4. ZROI 提高十连测 Day1

    第一天的提高模拟测 考前特意睡了20min 还是歇菜了,果然自己菜是真实的. 题目质量海星 但是我都不会这是真的...题目由于是花钱买的这里就不放了 LINK:problem 熟悉我的人应该都知道账号 ...

  5. Vue Router详细教程

    1.什么是路由 1.1路由简介 说起路由你想起了什么?路由是一个网络工程里面的术语. 路由(routing)就是通过互联的网络把信息从源地址传输到目的地址的活动. --- 维基百科 额,啥玩意? 没听 ...

  6. MB2-718 Certification: (Microsoft Dynamics 365 Customer Service) – Field Service, Customer Assets

    Come from : https://neilparkhurst.com/2018/02/25/mb2-718-certification-microsoft-dynamics-365-custom ...

  7. 036_go语言中的原子计数器

    代码演示 package main import ( "fmt" "runtime" "sync/atomic" "time&qu ...

  8. 数据洞察 | Python解读地摊——你想好摆摊去卖什么了吗?

    知乎上有一个问题:疫情结束后,你最想做的一件事是什么? 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去 ...

  9. pytorch载入模型的参数总是变化,比如说某个conv(3,3)kernel的几个参数总是变化:

  10. Dubbo整合Springboot框架

    本文使用的是alibaba的Dubbo. Dubbo整合Springboot可以分为四步: 第一步:首先需要了解Dubbo官方给的建议,至少有三个工程: 接口工程:主要存实体bean和业务接口 服务提 ...