flask swagger ui文档生成
  yx99X8RMvAE0 2023年11月02日 53 0

最近一直在写api文档,不知道兄弟们有没有和我一样的感受,写文档比写代码还难受,写代码逻辑实现提交就完事了,写api文档那才叫难受,有些不合理的地方给反复来回改好几遍,不止代码要改,文档要改,注释要改,关键是文档还要让别人能看得懂


为了解决这个痛点我想起了swagger ui文档,因为我在jumpserver api文档上看到过,像这样

flask swagger ui文档生成_flask

能实现交互,在线调式的api文档正是我需要的

我们知道fastapi框架是原生支持swagger的,但是flask框架怎么搞呢


ai上提供了两个思路

flask swagger ui文档生成_flask_02

这里是因为我原有的代码注释已经写的太多了,不想再因为文档侵入太多代码,所以我果断选择了第二种方式,当然如果有需要的兄弟可以根据自己的情况,第一种需要了解Flasgger,这个可以看官方文档学习


我们直接用浏览器打开Swagger Editor

swagger api文档在线编辑器,打开以后上面原有的会带有示例,将原有的示例清掉,写入我们自己开发系统的文档相关内容

flask swagger ui文档生成_flask_03

左边侧可以编辑内容,右边是预览,如果编辑内容有语法报错的话,会有红色报错显示的,非常好用,至于说这种类似于yaml格式的api文档内容该如何编写,我的建议是你可以chat下


编辑完成后我们选择导出文件

flask swagger ui文档生成_swagger_04

这里我们直接导出为yaml文件


接下来我们用swagger ui来渲染该文件

ai步骤

flask swagger ui文档生成_flask_05



上面步骤执行完成后我们需要用nginx作为web服务器来代理访问swagger ui下载下来的资源

flask swagger ui文档生成_swagger_06

添加nginx配置

location /api/docs {
   alias /home//docs/swagger-ui/dist;
   index index.html;

重载配置生效



最终的效果:

flask swagger ui文档生成_swagger_07

flask swagger ui文档生成_swagger_08

flask swagger ui文档生成_swagger_09


小结

工欲善其事必先利其器,好的易懂的api文档能帮助我们快速开发自己的内部系统或产品,这在前端后对接来说是非常重要,而且在编写文档的时候我们顺带重新review代码,减少了代码的不合理性和在调式过程中出现的一些bug


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

yx99X8RMvAE0