Knife4j前身是swagger-bootstrap-ui,是一个为Swagger接口文档赋能的工具

文档:https://doc.xiaominfo.com

效果(旧版):http://swagger-bootstrap-ui.xiaominfo.com/doc.html

效果(2.X版):http://knife4j.xiaominfo.com/doc.html

Gitee:https://gitee.com/xiaoym/knife4j

GitHub:https://github.com/xiaoymin/swagger-bootstrap-ui

示例:https://gitee.com/xiaoym/swagger-bootstrap-ui-demo

特性 & 优化

1、服务端创建Docket对象时配置globalOperationParameters参数时,header类型不选中或丢失的问题

2、如果服务端写会的json参数中包含base64的图片格式,在响应栏增加图片标签直接显示

3、springfox升级到2.10.5版本后,针对basePath会在解析时自动追加到path节点,因为以前的版本没有追加,所以会导致重复添加basePath的问题。Gitee #I230K8、Gitee #I23G5V

4、导出出md离线文档请求参数部分字段的设置和文档中同步Gitee #I22UFA

5、字段参数说明支持html标签样式。Gitee #I22RZ2

示例代码:

@ApiModelProperty(value = "奖金名称,记住:<br /><span style=\"color:red\">我很重要</span>",example = "MVP奖杯")
private String name;

效果图:

6、默认去除小蓝点的版本控制,开发者可以通过在服务端通过配置进行开启,详情请参考增强文档。

knife4j:enable: truesetting:#是否开启界面中对某接口的版本控制,如果开启,后端接口变化后Ui界面会存在小蓝点enableVersion: true 

7、可以通过配置重命名界面Swagger Models的命名,详情请参考增强文档,例如:

knife4j:enable: truesetting:enableSwaggerModels: trueswaggerModelName: 实体类列表

8、可以通过配置是否显示调试栏中的AfterScript功能,该属性默认为true,详情请参考增强文档,例如:

knife4j:enable: truesetting:enableAfterScript: false

9、支持@RequestMapping注解中的params参数Gitee #I22J5Q

10、3.0版本不支持Authorize的问题Gitee #I22WVM

11、增加局部刷新变量的按钮功能,可以通过服务端配置开启Gitee #I22XXI,该属性默认为false,详情请参考增强文档,例如:

knife4j:enable: truesetting:enableReloadCacheParameter: true

12、修复兼容性bug,当升级后,默认Swagger Models以及文档管理功能丢失的问题

使用方法

Java开发使用Knife4j目前有一些不同的版本变化,主要如下:

1、如果开发者继续使用OpenAPI2的规范结构,底层框架依赖springfox2.10.5版本,那么可以考虑Knife4j的2.x版本

<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><!--在引用时请在maven中央仓库搜索2.X最新版本号--><version>2.0.7</version>
</dependency>

2、如果开发者使用OpenAPI3的结构,底层框架依赖springfox3.0.0,可以考虑Knife4j的3.x版本

<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><!--在引用时请在maven中央仓库搜索3.X最新版本号--><version>3.0.1</version>
</dependency>

3、如果开发者底层框架使用的是springdoc-openapi框架,则需要使用Knife4j提供的对应版本,需要注意的是该版本没有Knife4j提供的增强功能,是一个纯Ui。

<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-springdoc-ui</artifactId><!--在引用时请在maven中央仓库搜索3.X最新版本号--><version>3.0.1</version>
</dependency>

特点

  • 基于Vue+Ant Design构建的文档,更强大、清晰的接口文档说明能力以及接口调试能力

  • 左右布局,基于Tabs组件的多文档查阅风格

  • 支持在线导出Html、Markdown、Word、PDF等多种格式的离线文档

  • 接口排序,支持分组及接口的排序功能

  • 支持接口全局在线搜索功能

  • 提供Swagger资源保护策略,保护文档安全

  • 接口调试支持无限参数,开发者调试非常灵活,动态增加、删除参数

  • 全局缓存调试信息,页面刷新后依然存在,方便开发者调试

  • 以更人性化的table树组件展示Swagger Models功能

  • 文档以多tab方式可显示多个接口文档

  • 请求参数栏请求类型、是否必填着颜色区分

  • 主页中粗略统计接口不同类型数量

  • 支持自定义全局参数功能,主页包括header及query两种类型

  • JSR-303 annotations 注解的支持

  • 更多个性化设置功能

界面

接口文档显示界面如下:

接口调试界面如下:

Swagger Models功能

支持导出离线Markdown、Html功能,markdown的表格较原先版本通过缩减显示为树形结构,点击预览导出离线Html效果,效果图如下:

通过第三方Markdown软件导出的PDF效果如下图:

同时提供了导出离线Html功能,Html功能界面风格和在线几乎没有区别,美观、大方、简洁,点击在线预览效果,

界面效果如下图:

Star & Issue

感谢各位朋友的支持,前往https://gitee.com/xiaoym/knife4j点个Star吧~~ :)

Knife4j 2.0.7 发布,细节优化相关推荐

  1. Knife4j 2.0.8发布,史诗级微服务聚合文档中间件诞生

    Knife4j前身是swagger-bootstrap-ui,是一个为Swagger接口文档赋能的工具 文档:https://xiaoym.gitee.io/knife4j/(opens new wi ...

  2. 酷点 CoolDock 0.75 发布:内存占用优化 修正多个问题

      Vista之家(www.vista123.com):酷点 CoolDock 0.75 发布:内存占用优化 修正多个问题 当您拖入某个快捷方式后发现不能正常运行,而之前的Windows快捷方式一切正 ...

  3. 闪游浏览器0.45发布下载:超多细节改进,更稳更强

    Vista之家(www.vista123.com):闪游浏览器 0.45发布下载:超多细节改进,更稳更强 又到周末,发布一下闪游浏览器的0.45版本,这次修正了很多的细节,主要是针对底层内存占用.插件 ...

  4. akcms comment.php,AKCMS新春贺岁发布4.0.6版 新增优化众多功能

    站长下载2月6日消息:今日AKCMS新春贺岁版 v4.0.6发布,AKCMS v4.0.6增强了正文分页功能,采集功能增强了正文的分页采集功能,增加了搜索引擎的词库管理功能,增加了文章的首字母拼音索引 ...

  5. 腾讯AI开源框架Angel 3.0重磅发布:超50万行代码,支持3种算法,打造全栈机器学习平台...

    出品 | AI科技大本营(ID:rgznai100) [导语]2019年8月22日,腾讯首个AI开源项目Angel正式发布3.0版本.Angel 3.0尝试打造一个全栈的机器学习平台,功能特性涵盖了机 ...

  6. JeecgBoot 3.1.0 版本发布,基于代码生成器的企业级低代码平台

    项目介绍 JeecgBoot是一款企业级的低代码平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,J ...

  7. 少儿全学科知识学习、复习、训练的免费福利,少儿知识训练大师 5.0 全新发布:真人语音、插件题库、全新功能

    孩子全学科复习.强化训练学习的必备工具,各种学科和知识问题库无限发挥.任意组合,配合本地.在线语音合成和识别引擎,为您打造真人级朗读和交互效果,更适合少儿的生动学习场景,本软件还是免费的哦! 新版软件 ...

  8. 张勇发全员信:阿里云将分拆上市;ChatGPT官方iOS应用上线,支持中文语音;Bun 0.6发布|极客头条...

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...

  9. 干翻Java_干翻Java!微软跨平台.NET Core 2.0版发布

    跨平台 .NET Core 2.0 版发布" /> 下载 Visual Studio 2017 version 15.3 下载 .NET Core 2.0 下载 Visual Stud ...

最新文章

  1. gin.context 怎么在其他包中获取 只能传递吗_跨进程传递大图,你能想到哪些方案呢?...
  2. WPF 自定义标题栏 自定义菜单栏
  3. android this context,Android應用開發中關於this.context=context的理解
  4. 水杯测试----误人子弟啊!
  5. 【知识图谱】知识抽取与挖掘(I)
  6. crtsiii型无砟轨道板_为什么高铁轨道不像普快列车轨道那样铺碎石?
  7. [Kubernetes] 如何关联PVC到特定的PV
  8. C++新特性探究(二):override、final
  9. 驱动数字签名 WIN7 WIN10 32位/64位
  10. §6.5 分离性公理与子空间,(有限)积空间和商空间
  11. 精准营销的神器:小蜜蜂获客系统助你成功
  12. linux下静态库、动态库总结
  13. 用c语言编写打印机输出程序,C语言编写银行打印程序实例参考
  14. 怎样把电脑默认安装C盘的位置改成D盘?
  15. php正则怎么用,php正则及常用正则函数怎么用
  16. 计算机网络如何配置ospf动态路由,《计算机网络高级配置》第八讲OSPF动态路由协议...
  17. Java 科学计数法
  18. 三分钟编程系列,教你用C++编写赛车游戏,有源代码 !
  19. java 程序是如何运行的?
  20. ocx插件: AniGIF.ocx安装

热门文章

  1. 联想微型计算机一体机b505,联想一体机b505电脑怎么样 联想一体机b505电脑的评测详解...
  2. xXx时间屏保更新记录
  3. Mars Rescue Simulation
  4. IntelliJ Idea错误提示 Could not autowire. No beans of ‘‘ type found
  5. iOS 10 的坑:新机首次安装 app,请求网络权限“是否允许使用数据”_前进的火车_新浪博客...
  6. Texture 是什么?
  7. HoloLens MRTK模型切割算法解析
  8. 微信键盘正式发布;马斯克就是否辞去推特董事发起投票;SHA-1 加密算法将被淘汰|极客头条...
  9. 工业互联网·化工废水处理PLC远程监控系统
  10. 稻盛和夫:带着爱去工作