闲话说在前面
用过java做前后端分离的项目的老*,基本上都受到过接口文档的折磨。
特别是CMMI的等级比较高的,公司流程比较长的。API文档的更新不及时和不完整,
一直是前端和后端的战争导火索。
swagger一出来后,基本上吵架少了很多。只要有一点项目经验的,多少都用过swagger。
为什么?
我们像来说下
Swagger是什么?有什么用?
如果你有那份闲心,你可以仔细琢磨琢磨下原文档。
按照通俗的话来说,Swagger的出现,极大的解放了程序员的双手。你可以不再去琢磨word文档的表格,字体大小....
你只要按照规范要求,给每个字段添加好对应的注释。
如果你想更加偷懒的话,可以下载一个人人代码生成器,它可以把注解和数据库的字段注释关联起来,生成一大片的机械代码。你至少需要简单修改下就可以了。
然后你配置好了后,启动了项目,把项目地址扔给前端小妹子。告诉她,在接口地址后面加上swagger-ui.html。你要的所有的接口的信息,都在上面了。
你只要写代码就好,剩下你不擅长的API文档,swagger就帮你包圆了
既然它这么好?为什么人们还要看着碗里,想着锅里的呢?
knife4j的出生
人都是一样的,见异思迁。有能用的,希望能有更好用的。
swagger是解放了后端的双手,但是生成的文档格式,样式:特别是那种绿,绿的发光;那种黑,黑的发慌。
在国人面前看来,还有点像洋大人的味道。有点水土不服。如果你用过外国人的app,再用国人的app。您就能深深体会那种感觉了。
knife4j就是在这样的场景下产生的。主要解决大家审美的问题。
一切以国人的方式来对页面样式进行了调整。
不信,你对比下样式就知道了。
swagger原生态:
knife4j :
是不是心情愉悦度有天壤之别?
升级之路
1、干掉所有的swagger-*相关的引用包。
knife4j已经把所有的包都帮你引入了,不需要你再单独引入。
重复的引入有可能会导致你的包冲突而报错
2、删除springfox-*相关的包
knife4j对应的包有对应的springfox的对应的版本。不要保留了
3、参照官网的快速开始。引入对应的knife4j包。
https://doc.xiaominfo.com/knife4j/documentation/get_start.html
打包,上传、启动项目,然后告诉前端妹子:哥哥能力提升了,请将地址从swagger-ui.html换成doc.html。
至此,已经全部完成。
总结
项目的提升和优化,是一个无尽之路。需要不断的提升自己的能力,然后在工作中不断的释放自己的小宇宙。