1. Knife4j 简介

knife4j 是为Java MVC框架集成Swagger生成Api文档的增强解决方案,前身是swagger-bootstrap-ui.

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

更名后主要专注的方面

  • 前后端Java代码以及前端Ui模块进行分离,在微服务架构下使用更加灵活
  • 提供专注于Swagger的增强解决方案,不同于只是改善增强前端Ui部分
    模块
  • knife4j 为Java MVC框架集成Swagger的增强解决方案
  • knife4j-admin 云端Swagger接口文档注册管理中心,集成gateway网关对任意微服务文档进行组合集成
  • knife4j-extension chrome浏览器的增强swagger接口文档ui,快速渲染swagger资源
  • knife4j-service 为swagger服务的一系列接口服务程序
  • knife4j-front knife4j-spring-ui的纯前端静态版本,用于集成非Java语言使用
  • swagger-bootstrap-ui knife4j的前身,最后发布版本是1.9.6

2. 主要功能

2.1 核心功能

  • 文档说明:根据Swagger的规范说明,详细列出接口文档的说明,包括接口地址、类型、请求示例、请求参数、响应示例、响应参数、响应码等信息,使用swagger-bootstrap-ui能根据该文档说明,对该接口的使用情况一目了然。

  • 在线调试:提供在线接口联调的强大功能,自动解析当前接口参数,同时包含表单验证,调用参数可返回接口响应内容、headers、Curl请求命令实例、响应时间、响应状态码等信息,帮助开发者在线调试,而不必通过其他测试工具测试接口是否正确,简介、强大。

2.2 UI优化

  • 个性化配置:通过个性化ui配置项,可自定义UI的相关显示信息

  • 离线文档:根据标准规范,生成的在线markdown离线文档,开发者可以进行拷贝生成markdown接口文档,通过其他第三方markdown转换工具转换成html或pdf,这样也可以放弃swagger2markdown组件

  • 接口排序:自1.8.5后,ui支持了接口排序功能,例如一个注册功能主要包含了多个步骤,可以根据swagger-bootstrap-ui提供的接口排序规则实现接口的排序,step化接口操作,方便其他开发者进行接口对接

3. 使用方法

3.1 导入依赖

<!--springfox-swagger-->
<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version>
</dependency><!--SwaggerBootstrapUi -->
<dependency><groupId>com.github.xiaoymin</groupId><artifactId>swagger-bootstrap-ui</artifactId><version>2.0.4</version>
</dependency>

3.2 Swagger2Config配置

@Configuration
@EnableSwagger2
@EnableKnife4j
public class SwaggerConfiguration {@Beanpublic Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("com.test.pc")).paths(PathSelectors.any()).build();}private ApiInfo apiInfo() {return new ApiInfoBuilder().title("swagger-bootstrap-ui RESTful APIs").description("swagger-bootstrap-ui").termsOfServiceUrl("http://localhost:8080/").contact("11@qq.com").version("1.0").build();}
}

3.3 swagger-bootstrap-ui默认访问地址是:

http:// h o s t : {host}: host:{port}/doc.html

3.4

4. 常见问题及解决方案(持续更新)

4.1 Knife4j文档请求异常


这个时候在检查完配置文件,以及接口文件都没有错的情况下,可以找找是否出现了下面的情况
解决方案:

  1. 接口返回参数中带有List集合,且集合的属性赋予了exmpale属性,例如:
  2. 接口返回参数中带有对象,且对象属性赋予了exmpale属性,例如:

关于Springboot使用knife4j说明相关推荐

  1. Springboot集成knife4j,Failed to start bean ‘documentationPluginsBootstrapper‘;导致系统不能正常启动

    Springboot集成knife4j,Springboot更新到2.6启动报错Failed to start bean 'documentationPluginsBootstrapper'; nes ...

  2. SpringBoot集成knife4j实现Swagger接口文档

    前言:如果你是后台开发,提供restful接口给前端,建议你使用Swagger3提供restful的接口文档自动生成和在线接口调试.knife4j是对Swagger进一步封装,其优化了API文档的UI ...

  3. SpringBoot整合knife4j ,神仙朋友介绍的

    SpringBoot 整合 knife4j " knife4j 官方文档地址 https://doc.xiaominfo.com/knife4j/ " 之前经常使用 swagger ...

  4. Springboot集成knife4j

    Springboot集成knife4j 注:本文是 srpingboot + OCLA + knife4j 1. 添加依赖 1.1 父工程parent 的pom 文件中引入依赖 <knife4j ...

  5. springboot整合knife4j,从此告别手写接口文档

    关于knife4j Knife4j的前身是swagger-bootstrap-ui,前身swagger-bootstrap-ui是一个纯swagger-ui的ui皮肤项目 一开始项目初衷是为了写一个增 ...

  6. SpringBoot整合knife4j

    SpringBoot整合knife4j 导入依赖 <!-- 在需要的项目中导入依赖 --> <dependencies><dependency><groupI ...

  7. SpringBoot 整合 knife4j

    文章目录 简述 2. 导入依赖 3. 创建配置类 4. 创建User实体类 5. 创建开发接口 6. 启动项目 简述 Swagger是一款测试文档Api接口,具体用法见SpringBoot整合Swag ...

  8. SpringBoot集成knife4j接口文档

    knife4j介绍 knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案. 其他的详情请看官方文档: knife4j官方文档 首先创建一个spring boot 项目, ...

  9. SpringBoot整合knife4j(swagger)实现前后端分离可视化接口调试与接口测试

    目录 1.为什么使用Knife4j 2.基本使用 2.1 pom 2.2 配置Knife4j分组 2.3 拦截器放行 2.4 实体类 2.5 SpringBoot整合基础使用 2.5.1 基础配置 2 ...

  10. SpringBoot整合Knife4j替代Swagger

    文章目录 一.前言 二.正文 1. 基础环境 2. 引入依赖 3. 配置类-Knife4jConfig类 4. 各配置项分别演示 5. 完整代码 三.总结 一.前言 昨天收到一条评论,让我觉得有些小事 ...

最新文章

  1. ggtree美颜进化树-宏基因组扩增子
  2. 使用Mootools动态添加Css样式表代码,兼容各浏览器
  3. 关于如何在你的Web项目中实现对空间数据访问权限的控制(一)
  4. PHP:使用Zend对源码加密、Zend Guard安装以及Zend Guard Run-time support missing的解决方法
  5. 基于TFS实践敏捷-可视化管理
  6. bootstrap-媒体对象-对齐
  7. Java集合(一、HashMap)
  8. matlab slope函数,Matlab常用函数汇总
  9. 二级c语言改错题库,二级C语言题库-改错题(参考).doc
  10. java 文本文件合并_java实现文本文件合并
  11. Windows11在Edge浏览器中打开IE浏览器兼容的页面,在Edge浏览器打开加载ActiveX控件的页面
  12. D盘需要管理员权限解决办法
  13. 部分软件免管理员权限安装
  14. 腾讯推出微信企业服务平台风铃
  15. Hbuilder mui 相册拍照图片上传
  16. 巨详细,大电流线性电源(LDO)原理,看完你就明白了
  17. SAP 凭证跳号分析
  18. 20154312 曾林 EXP7 网络欺诈防范
  19. 流媒体之Jitterbuffer笔记
  20. Cadence PCB仿真使用Allegro PCB SI生成振铃ringing仿真报告及报告导读图文教程

热门文章

  1. 五个受用一辈子的寓言
  2. HTML简单又好用的几种颜色!
  3. 谷歌浏览器开发者工具下方的控制台不见了
  4. 正则中文逗号转英文逗号
  5. Android集成谷歌定位sdk,概述-Android 定位SDK | 高德地图API
  6. 明星签名长啥样?古天乐王源字体笑翻 大张伟出乎意料
  7. 中国少儿编程教育行业投资趋势与前景规划建议报告2022年版
  8. c++实现strcpy函数
  9. listview下拉刷新上拉加载扩展(二)-仿美团外卖
  10. Qt QTreeWidget树形控件用法详解