knife4j(swagger的升级版)使用

目前很多的后台都开始使用swagger来写文档接口了,但是swagger有很多限制:

1、swagger不支持头部自定义加入参数,如果是头部有token等之类参数要放入时swagger就无法调试接口了,只有看的份了。

2、swagger对application/json请求的类型的确实很友好,但是对于表单类型的application/x-www-form-urlencoded就很不友好了,你使用了设置了隐藏某个字段,他都会显示出来,并且不管层级都是解析成一个层级,显示就是xxx.xx,字段多了看到都是烦恼呀。

3、swagger还不支持离线查看等。。。。。

很多公众号现在都看到在推广knife4j(前身swagger-bootstrap-ui),其实看了他们的文章我也很认同他们的做法,虽然现在knife4j做得不是很全面,但是在ui、调试、离线文档都做了优化。本文主要做了一个小demo(代码就主要放在码云:

https://gitee.com/yh128/SpringDemoProject

上面了,这里就讲一下重要的配置),让读者理性去选择使用的工具,说到底适合自己的才是最好的嘛。

 

看了代码以后可以发现,我们配置里面为什么还有swagger的依赖引入呢?

            com.github.xiaoymin            knife4j-spring-boot-starter            2.0.2                                    io.springfox            springfox-swagger-ui            2.9.2                            io.springfox            springfox-swagger2            2.9.2                                                swagger-annotations                    io.swagger                                                    swagger-models                    io.swagger                                                        io.swagger            swagger-annotations            1.6.0                            io.swagger            swagger-models            1.6.0        

引入了swagger主要的话引入的是ui,这样就可以使用swagger原有的功能,

为什么还要单独的引入了swagger-annotations 和swagger-models呢?

其实有时候注解上的示例和类型不对的时候会报错,加入这两个依赖包就不会了。

knife4j(swagger的升级版)使用_第1张图片

运行以后分别是两者的界面:

 

knife4j(swagger的升级版)使用_第2张图片

 

 

knife4j(swagger的升级版)使用_第3张图片

 

knife4j这个界面就很养眼,下面就讲解一下knife4j的优点:

1、可以自己配置请求头等信息

knife4j(swagger的升级版)使用_第4张图片

2、离线文档的支持(目前支持了md和html)

knife4j(swagger的升级版)使用_第5张图片

3、请求参数层次分明

knife4j(swagger的升级版)使用_第6张图片

4、请求实体可以快速找到

knife4j(swagger的升级版)使用_第7张图片

5、请求类型方式可以选择

knife4j(swagger的升级版)使用_第8张图片

6、请求返回数据可以选择说明同时显示

knife4j(swagger的升级版)使用_第9张图片

其他还有很多功能都还不错,它还在完善中优化中,这个是不错的工具,如果适合你就快去试试嘛,如果不想侵入形式的那可以考虑其他的在线文档showdoc,yapi等,感觉都还不错。

说白了这只是工具,使用工具主要的目的就是提高效率,提高质量,所以取舍就看自己了。

 

                                        文章同时会更新到公众号,觉得对你有帮助或者有用的可以关注一下哦 

uploading.4e448015.gif正在上传…重新上传取消

你可能感兴趣的:(java,Spring,java)