Knife4j的使用、SpringFox和SpringDoc介绍

knife4j是一个Swagger的增强工具,能够完善项目的接口文档。

官网:
Knife4j · 集Swagger2及OpenAPI3为一体的增强解决方案. | Knife4j

Swagger的生成的默认文档确实不好用(不美观、不支持搜索、不能导出)

在Swagger2中使用

想一想是怎么配置Swagger2的:

  • 将Docket的Bean提供出去
  • 然后在配置类上开启@EnableSwagger2
    只需要在原先Swagger的基础上,引入knif4j的依赖即可。
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-openapi2-spring-boot-starter</artifactId>
            <version>4.1.0</version>
        </dependency>

建议直接引入knife4j的依赖,因为knif4j中已经集成了swagger的依赖,swagger相关的依赖也会自动导入
既然是一个增强工具,那么原先Swagger中怎么写的,依然怎么写,knife4j不会做出改变。
只是最后生成的文档更强大、漂亮了。
然后访问ip:port/doc.html就能看到生成的文档



在Swagger3中使用

Swagger 规范已于 2015 年捐赠给 Linux 基金会后改名为 OpenAPI,并定义最新的规范为 OpenAPI 3.0。所以现在的 Swagger 3.0 就是 OpenAPI 3.0。

官方文档配置
快速开始 | Knife4j
在SpringBoot3.X中,只支持OpenAPI3的规范。

跟Swagger2差不多,只是将@EnableSwagger2换成@EnableOpenAPI

Swagger、SpringFox、SpringDoc、OpenAPI的关系

下面的图片全来自于下面的文章:
Swagger2在2015年之后贡献给Apache,然后又推出了新的版本,可以理解为Swagger3,定义了新的规范,并将这个规范更名为OpenAPI。
所以可以认为Swagger3就是OpenAPI3。
OpenAPI3就是OpenAPI的第一个版本的规范。


巨人的肩膀

Spring Boot 中使用 SpringFox 整合 Swagger 3(OpenAPI 3)生成 API 文档 - 掘金

posted @ 2023-06-09 22:58  秋天Code  阅读(160)  评论(0)    收藏  举报  来源