基本信息
- 定义:Knife4j 是为 Java MVC 框架集成 Swagger 生成 Api 文档的增强解决方案,在非 Java 项目中也提供了前端 UI 的增强解决方案。
- 前身:swagger-bootstrap-ui,为契合微服务架构发展,将后端 Java 代码和前端 UI 模块分离,使其更灵活轻便,从而更名为 Knife4j。
此外,Knife4j还支持:
在API文档中使用Markdown语法,使文档更具可读性和易于维护;
将API文档导出为离线的HTML、PDF和Markdown文件,便于分享;
支持在不同的环境中使用不同的API文档配置;
支持动态参数,允许用户在运行时修改API请求的参数,测试更加灵活。
以下是Knife4j的官方地址:
官方文档:Knife4j · 集Swagger2及OpenAPI3为一体的增强解决方案. | Knife4jhttps://doc.xiaominfo.com/
码云地址:knife4j: Knife4j是一个集Swagger2 和 OpenAPI3为一体的增强解决方案https://gitee.com/xiaoym/knife4j
整合Knife4j
Knife4j 完全遵循了 Swagger 的使用方式,所以可以无缝切换。
第一步,在 pom.xml 文件中添加 Knife4j 的依赖(不需要再引入 springfox-boot-starter了,因为 Knife4j 的 starter 里面已经加入过了)。
第二步,创建配置类
第三步,新建控制类controller,以下是其中一个控制类:
第四步,设置静态资源映射。
-
第一个处理器将doc.html映射到了类路径下的META-INF/resources/目录。
-
第二个处理器将/webjars/**映射到了类路径下的META-INF/resources/webjars/目录。
这样配置后,当Spring Boot应用运行时,它会自动处理这些静态资源的请求,并从相应的目录中提供资源。
第五步,启动项目,访问http://localhost:8080/doc.html
主页部分是刚才第二步创建配置类时设置的内容。
左边是我们在项目中写的控制类里的接口,我们可以找到刚才第三步控制类的那个接口(分类相关接口下的新增分类),如下:
可以看到该接口是POST类型的,是RESTful风格,同时还有该接口的访问路径以及请求参数和示例等等。
我们可以通过点击调试来测试,该接口
你可以任意修改请求参数,通过点击发送来测试接口,测试十分灵活。
以上就是对Knife4j最基本的使用流程。