<p> <strong>每</strong><strong>日英文</strong></p><p> Anyone else have no right to judge you, they may have heard things, but they feel less than what you experienced.</p><p> 谁都无权评判你,他们也许听过你的事情,但他 们感受不到你所经历的一切 。</p><p> <strong>每日掏心话</strong></p><p> 人活一世最重要的是经历。时间,是距离也是宽恕,让一些东西更清晰,让一些感情更明白。</p><p><blockquote>责编:乐乐 | 来自:youcongtech 链接:segmentfault.com/a/1190000038170506</blockquote><br/></p><p> 编程技术圈(ID:study_tech)第 1209 次推文</p><p> 往日回顾:全球最大**** Pornhub 或将关停 !</p><p> <strong>正文</strong></p><p> 之前在创业公司待的时候,用过swagger,因为我第一天来这家公司工作,第一个任务就是做接口文档自动化。</p><p> 后来觉得它不太好用,在浏览技术网站的时候,偶然发现swagger-bootstrap-ui,于是便重构了,把swagger-bootstrap-ui整合进来,后来发现不仅仅对我们后端有帮助,主要方便我们将接口进行归类,同样对安卓小伙伴也有帮助,他们可以看这个接口文档进行联调。当初我使用swagger-boostrap-ui的时候,那个时候还是1.x版本,如今swagger-bootsrap-ui到2.x,同时也更改名字knife4j,适用场景从过去的单体到微服务。也算是见证咱们国人自己的开源项目从小到大。</p><p> 该开源项目GitHub地址:</p><p><blockquote>https://github.com/xiaoymin/Swagger-Bootstrap-UI</blockquote><br/></p><p> 该开源项目中文文档地址:</p><p><blockquote>https://doc.xiaominfo.com/</blockquote>一、添加Maven二、添加配置类三、启动项目<br/></p><p> 启动项目,不报错,然后访问地址:<br/>http://ip:port/doc.html 即可</p><p> 效果图,如下:<br/></p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2021%2F0419%2F523dcd7ep00qrt7ms0017d200m800afg00it008t.png&thumbnail=660x2147483647&quality=80&type=jpg"/><br/></p><p></p><p> 测试接口,效果图如下:<br/></p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2021%2F0419%2Faf50b230p00qrt7ms004ad200m800g8g00it00dq.png&thumbnail=660x2147483647&quality=80&type=jpg"/><br/></p><p></p><p> 调试相当于用PostMan测试接口。</p><p> 搜索公众号后端架构师后台回复“架构整洁”,获取一份惊喜礼包。</p><p> 四、常用注解</p><p> 和swagger一样,swagger用的注解,swagger-bootstrap-ui仍能用。<br/>不过结合我的开发经验来看,最常用的也就两个,@Api和@ApiOperation。<br/>@Api的效果,如图:<br/></p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2021%2F0419%2Fb39e6317p00qrt7mt000fd200b700lpg00b700lp.png&thumbnail=660x2147483647&quality=80&type=jpg"/><br/></p><p></p><p> @ApiOperation的效果,如图:<br/></p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2021%2F0419%2Fa4a03725p00qrt7mt000ed200au00lcg00au00lc.png&thumbnail=660x2147483647&quality=80&type=jpg"/><br/></p><p></p><p> 由此,我们很容易就看出来,它们的含义是什么,一个是接口分类说明,一个是接口方法说明。</p><p> 至于这里不用swagger的参数注解,主要原因是不想加太多的注解从而增加代码的数量,造成太多冗余。搜索Java知音公众号,回复“后端面试”,送你一份Java面试题宝典.pdf</p><p> 例子中的Controller代码:</p><p> 五、其它</p><p> 关于swagger整合系列,可以参考如下:</p><p><blockquote>https://www.cnblogs.com/youcong/p/9011302.html</blockquote><br/></p><p> 关于swagger-bootstrap整合系列,可以参考:</p><p><blockquote>https://www.cnblogs.com/youcong/p/9196157.html</blockquote><blockquote>https://www.cnblogs.com/youcong/p/10786371.html</blockquote>六、可能遇到的问题 1.访问不到接口文档界面白版<br/></p><p> 一般是被拦截了(shiro或springsecurity机制)或者是配置错误。</p><p> 2.访问接口文档界面出来了,但扫描不到接口</p><p> 主要是配置类的缘故,配置类有个包扫描,必须配置为controller路径。<br/>如图所示:<br/></p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2021%2F0419%2Ff4d33049p00qrt7mt001qd200m8005jg00it004o.png&thumbnail=660x2147483647&quality=80&type=jpg"/><br/></p><p></p><p> 如果还有其他问题,可以去官方文档上找,官方文档有一个常规问题列表和解决方案,如图所示:<br/></p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2021%2F0419%2F9fc95ae2p00qrt7mt000sd200aj00c8g00aj00c8.png&thumbnail=660x2147483647&quality=80&type=jpg"/><br/></p><p></p><p> 如果问题非常奇葩的话,实在解决不了(在参考官方文档说明和搜索的前提下,仍解决不了,把问题详细描述和关键性代码提到该开源项目的issue上,向创造者求助)。</p><p> <strong>PS:</strong>欢迎在留言区留下你的观点,一起讨论提高。如果今天的文章让你有新的启发,欢迎转发分享给更多人。</p><p><blockquote>版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。谢谢! </blockquote></p><p> <strong><strong><strong><strong><strong><strong><strong><strong>嘿,你在看吗</strong><strong>?</strong></strong></strong></strong></strong></strong></strong></strong></p>
讯享网

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/202650.html