博客
关于我
springboot集成swagger之knife4j实战(升级版)
阅读量:419 次
发布时间:2019-03-06

本文共 1509 字,大约阅读时间需要 5 分钟。

Knife4j与Swagger-Bootstrap-UI对比分析

1. 对比概述

Knife4j和Swagger-Bootstrap-UI都是用于Spring Boot项目构建开源API文档的工具,但两者在风格、功能和维护状态上存在显著差异。本文将从多个维度对这两者进行对比分析。

2. 对比分析

2.1 基本特点

  • ** Knife4j**

    在更名之前,Knife4j原名为Swagger-Bootstrap-UI。与Swagger-Bootstrap-UI相比,Knife4j采用了全新的黑色主题设计,摒弃了传统的蓝色界面,具有更现代的美观感。

  • ** Swagger-Bootstrap-UI**

    Swagger-Bootstrap-UI是基于Springfox框架开发的,提供了丰富的配置选项,能够更好地与Spring Boot和Spring Cloud集成。

2.2 功能对比

  • ** Swagger-Bootstrap-UI**

    支持通过配置文件或注解进行文档生成,提供了多种增强功能,包括参数过滤、版本控制等。

  • ** Knife4j**

    Knife4j采用了基于Knife4j-Spring-Boot-Starter的开发方式,支持更多的配置项和增强功能。Knife4j从2.0.6版本开始,要求Spring Boot版本至少2.2.x,同时支持与Springfox框架的对应版本。

3. 版本发展

3.1 Knife4j版本史

  • 1.9.6版本

    提供了蓝色主题风格,并增加了更多后端模块支持。

  • 2.0-2.0.5版本

    进行了UI重写,改用黑色主题,底层依赖Springfox框架2.9.2,遵循OpenAPI规范v2。

  • 2.0.6及以上版本

    底层Springfox框架升级至2.10.5,支持OpenAPI v2规范。

  • 3.0及以上版本

    底层Springfox框架升级至3.0.3,支持OpenAPI v3规范。

3.2 Swagger-Bootstrap-UI版本史

  • 1.9.6版本
    最后一个版本,提供了蓝色主题风格。

4. 整合步骤

4.1 依赖管理

-Knife4j只需添加knife4j-spring-boot-starter依赖即可,无需额外引入Springfox依赖。

4.2 配置说明

  • 2.0.6及以上版本
    使用@EnableSwagger2WebMvc注解启用,若不需要自定义配置,可直接注解在主类上。

4.3 增强功能启用

  • Knife4j

    从2.0.6版本开始支持增强功能,需在配置文件中设置knife4j.enable=true,或使用@EnableKnife4j注解。

  • 自定义文档与设置

    支持通过配置文件设置文档和UI个性化参数,需在Docket对象中调用Knife4j提供的扩展功能。

5. 常见问题解答

  • 版本兼容性

    Knife4j2.0.6及以上版本要求Spring Boot至少2.2.x,且需对应Springfox框架版本。

  • 增强功能支持

    Knife4j1.9.6版本不支持增强功能,建议升级至2.0.6及以上版本以体验更多功能。

  • 文档访问方式

    访问地址为http://{ip}:{port}/doc.html,需确保doc.html静态资源未被拦截。

6. 总结

Knife4j作为Swagger-Bootstrap-UI的升级版,提供了更现代的UI设计和更丰富的功能支持。尽管Swagger-Bootstrap-UI已停更,但其在早期版本中仍具重要价值。选择工具时,需根据项目需求权衡功能与维护状态。

如需了解Spring Cloud与Knife4j的集成案例,欢迎留言讨论。

转载地址:http://lwbuz.baihongyu.com/

你可能感兴趣的文章
python 录音左右声道_Python分离立体声wav压缩文件的左右声道
查看>>
Python 循环异或对文件进行加解密
查看>>
Python开发环境搭建(附VMware安装包及虚拟机环境)
查看>>
python 微信扫码登录_python实现微信第三方网站扫码登录(Django)
查看>>
Python 快速下载依赖
查看>>
python实现非参数统计的Cochran检验 (附完整源码)
查看>>
Python 手写数字识别-3-sklearn中的几种算法
查看>>
Python 打开文件注意事项
查看>>
python 批量修改文件名_python windows下批量修改文件名
查看>>
Python 抓取网页乱码问题 以及EXCEL乱码
查看>>
python 抓取网页内容
查看>>
python 按照当前日期创建文件
查看>>
Python 接口并发测试详解
查看>>
Python 接口自动化 —— requests框架
查看>>
python 接口自动化数据结构(如列表、字典、元组)
查看>>
Python 接口自动化测试中的深拷贝与浅拷贝~
查看>>
Python 接口自动化测试中的高阶函数
查看>>
python 控制 cmd 命令行颜色
查看>>
Python 操作 Azure Blob Storage
查看>>
Python 操作 Excel 全攻略 | 包括读取、写入、表格操作、图像输出和字体设置
查看>>