博客
关于我
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 WebDriver如何打印整个页面源(html)
查看>>
Python WebSocket自动化测试:构建高效接口测试框架
查看>>
Python Web开发
查看>>
Redis 配置文件杂项。
查看>>
Python web自动化测试 —— 文件上传
查看>>
Python web自动化测试 —— 文件上传!
查看>>
Python Web自动化测试开发环境搭建(附安装包与虚拟机环境)
查看>>
python win32api键盘_Python win32api.keybd_event模拟键盘输入
查看>>
python Windows显示当前鼠标坐标
查看>>
python Workbook 表格宽度
查看>>
python | flanker,一个神奇的 Python 库!
查看>>
python | flower,一个强大的 Python 库!
查看>>
python | funcy,一个超强的 提供函数式编程工具 Python 库!
查看>>
python | ggplot,一个超强的 Python 库!
查看>>
python | grab,一个强大的 Python 库!
查看>>
python | h5py,一个无敌的关于 HDF5 的 Python 库!
查看>>
python | huey,一个非常厉害的 任务调度 Python 库!
查看>>
python | hypothesis,一个有趣的 Python 库!
查看>>
python | Indico,一个超酷的 Python 库!
查看>>
python | isort,一个有趣的 自动整理导入语句 的Python 库!
查看>>