当前位置: 首页 > 科技观察

Swagger增强神器:Knife4j!用它轻松实现界面搜索、Word下载、界面过滤……

时间:2023-03-11 22:30:47 科技观察

wagger是开发中最常用的框架之一,但是Swagger本身有很多不完善的地方。一个界面,或者将所有界面导出成Word格式等,在Swagger中是无法实现的。可能有人会问:为什么界面要导出成Word格式呢?这种场景比较常见,比如需要对外部公司开放接口的时候,或者开发环境的网络无法对外开放(比如专线,很多医院都有生产环境的Swagger关闭的时候,只能依靠离线文档来实现接口调用,而离线文档最常用的格式是Word。所以为了解决Swagger的这些问题,我们需要使用一个Swagger增强工具来实现,而这个扩展工具是我们今天要重点介绍的Knife4j,那么Knife4j长什么样子呢?我们来看一下,如下图所示:从本主页的图片可以看出,Knife4j会显示在中设置的摘要信息(Docket)欢迎页上的Swagger,Docket的设置可以看我之前的文章,Knife4j也很贴心地提供了统计所有接口的功能,在欢迎页的底部,我们可以clea查看当前POST接口数和GET接口数。PS:Knife4j支持中英文两种语言显示。对于国内的朋友来说,可读性很高(因为都是中文的)。Knife4j功能介绍1.搜索功能我觉得Knife4j最实用的功能就是“界面搜索”。通过这个功能,我们可以很方便的找到我们需要的接口,如下图所示:2.离线文档下载Knife4j提供了4种不同格式的离线文档下载:Markdown、Html、Word、OpenAPI等,如下图如下图:3.接口过滤可以通过Knife4j过滤某种类型的接口,比如过滤GET或者POST接口,如下图:4.全局参数设置如果有公共请求参数,我们可以轻松处理通过Knife4j,如下图所示:5.更友好的界面调试使用Knife4j可以更友好的实现界面调试,因为在使用Knife4j的时候,会将需要传递的参数用红框显示出来,这样我们可以直观的区分从非必填参数到必填参数,如下图:Knife4j配置从上面的内容可以看出knife4j的功能非常强大,bu更让我惊讶的是它的配置极其简单。我们只需要在已经成功配置Swagger的项目中添加Knife4j的依赖即可。配置信息如下:com.github.xiaoyminknife4j-spring-boot-starter3.0.2添加上面简单的依赖后,我们不用配置任何东西就可以成功使用Knife4j了。访问Knife4j,我们可以通过http://localhost:8080/doc.html访问Knife4j的主页,如下图所示:为了弥补Swagger的不足,我们引入了Knife4j框架。使用Knife4j,我们可以轻松实现接口搜索、离线文档下载、全局参数设置、接口过滤等功能,更友好的接口测试。然而,与其功能同样令人惊叹的是它的配置。在使用Knife4j的时候,我们只需要在项目中添加它的引用,就可以直接使用Knife4j了,不需要额外的操作。太完美了,你不想试一试吗?