博客
关于我
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基础:如何阅读N个整数,直到#39;
查看>>
Python基础:11变量作用域和闭包
查看>>
Python基础: with模式和__enter__ 和 __exit__
查看>>
Python基础(7)--函数
查看>>
Python基础部分-while循环,格式化输出
查看>>
Python基础语法:顺序语句结构
查看>>
Python基础语法:理解代码与写代码
查看>>
Python基础语法:条件和分支
查看>>
Python基础语法:基本数据类型(数字类型和布尔类型)
查看>>
Python基础语法:基本数据类型(列表)
查看>>
Python基础语法:内置函数
查看>>
Python基础语法:你不得不知的几种变量类型
查看>>
Python基础语法教程,零基础入门到精通,看完这一篇就够了
查看>>
Python基础语法与执行脚本的3种方式
查看>>
python基础语法
查看>>
python基础语法
查看>>
python系列【仅供参考】:python测试开发基础---multiprocessing.Pool
查看>>
Python基础综合练习
查看>>
Python基础练习之一输出10000以内的阿姆斯特朗数
查看>>
Python基础系列讲解—动态类型语言的特点
查看>>