Golang Go语言中注解方式生成swagger文档太麻烦,有没有类似Python FastAPI的自动生成文档模块?
Golang Go语言中注解方式生成swagger文档太麻烦,有没有类似Python FastAPI的自动生成文档模块?
请别建议我手撸 markdown 之类的了,写了 10 年代码了不想继续手写 doc 了哦
手写 MD 文档就不麻烦了,复制-粘贴改一改就好,效率飞起
更多关于Golang Go语言中注解方式生成swagger文档太麻烦,有没有类似Python FastAPI的自动生成文档模块?的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
用 c# 或者 spring 多好,django 的 swagger 都不是很方便,因为这个原因弃用 go 做 web 服务
同求,有类似机制的,楼主记得艾特我。
换种思路,文档->代码
要的就是 swagger 在线发请求的测试功能,回到原始 doc 上那当然就不会有这个问题了…建议我手写 doc 仿佛在跟我说蒸汽机不好搞,还是继续坐马车吧 🤦♂️
Python 的话 FastAPI 可以自动生成,不需要人肉介入。
#6 fastapi 不能像 flask django 那样直接用 py 文件启动吧,好像要在系统上装什么来着
#7 没有超级用户权限,我选择绕开 fastapi,本来还是挺不错的项目
Ruby 的 grape 配合 swagger 异常好用,全自动生成,连注释都不写
如果是 api 的建议先使用 protobuf 等 idl 描述,再动生成文档和代码。
我们也是苦文档不更新久矣。最后搞了个[sniper 框架]( https://github.com/bilibili/sniper),具体的设计思路可以参考[这篇文章]( https://zhuanlan.zhihu.com/p/69029677)。在生产环境跑了两年多了,效果还不错。
FastAPI 只需要安装 uvicorn 就可以直接 py 文件启动了。
#11 对对,线上没有 uvicorn,也没有安装的权限
有几年没用 go 了,看到这个话题,回顾一下在 go 项目中使用 swagger 历程。
注:我也一直讨厌写不必要的 API 文档,尤其是 API 输入、输出格式等本应该能自动生成的文档。
1. 最初是自己写的代码,根据 request, response 对象生成 swagger.json 文件( python 也自己写过……):
https://www.v2ex.com/t/390148?p=1#r_4746014
2. 后来某个项目使用过 https://github.com/MarkSonghurst/swag (印象中某些 feature 支持不够好,我还改过少量代码)
3. 另外看到其他 v 友选择过 https://github.com/Tencent/APIJSON,也许以后会尝试?
https://v2ex.com/t/556593?p=2#r_7208890
学习下标准库里 go/ast go/types 几个包,自己写一个就行,一两百行完事的程序,自己需要什么就写什么,何必到处找,你找到也未必合用。
smartdoc?
用 protobuf 描述借口,protoc swagger 插件自动生成
protobuf
你可能没完全明白我的意思,要不看看这个能不能帮到你
考虑下 c#,直接把代码注释生成 swagger 😊
先写文档,再开发,就不慢了
我们理解的“自动”这项能力,不是同一种,我要的是不需要写代码注释的生成框架。
你的提议很好,不过我就是想先看看有没有可以百白嫖的代码
用 javaparser 静态分析代码,自动生成 Swagger 注解,我这么写过,不过只是生成了简单一点的,因为有些字段和方法是没有注释的
因为 swagger 的注解内容都是可以从已有的代码里读取到的
不太喜欢 APIJSON 接管 ORM
我用 go 写 API,没用过 framework,都是用的 library,自己手写 model + generate 通用的 model 级别的 API 。
听你这么说 APIJSON 还会接管 ORM,应该是 framework 了。
用 go 我还是建议手写 markdown…
推荐个 apifox 功能方面挺好的,mock swagger,压测 都有,但是貌似有 cpu 占用的问题,如果有安全要求的话就别用了
APIJSON ? 可能我不太熟这个操作。
smart-doc 可以根据源码注释生成文档。
你确定说的是支持 Go 语言的产物?
我也是用 golang 自带 ast 针对性写的
Graphql 也可以考虑
手写 你不累吗
还好呀。说实话,go 里面写注释,然后生成还没有手写 markdown 复制粘贴快.
python 不写 docstr 能自动生成文档?开玩笑
go 自带 ast 包, 随便怎么玩代码生成啊.
一个很重要的点是 代码和文档同步,fastapi 就做的很好
注意审题,FastAPI 自动生成 swager 了解一下?
针对您提到的Golang中注解方式生成Swagger文档较为繁琐的问题,确实存在一些解决方案能够简化这一过程。
在Golang生态中,Swaggo和Swaggos是两个非常受欢迎的工具,它们能够基于Golang代码自动生成Swagger文档。Swaggo通过将Go注释转换为Swagger 2.0文档,支持多种流行框架,并提供了插件以便与现有Go项目快速集成。而Swaggos则是一个Golang版本的Swagger文档生成器,提供了native code包装器,能够直接基于Golang代码生成文档,无需大量注释。
使用这些工具,您可以避免手动编写Swagger文档的痛苦,只需编写好代码,文档生成基本上是“一键搞定”。这些工具不仅支持标准的JSON或YAML格式输出,还能够根据代码和注释自动生成完整的API文档,极大地提高了开发效率。
因此,如果您希望在Golang项目中实现类似Python FastAPI的自动生成文档功能,可以考虑使用Swaggo或Swaggos等工具,它们将为您的API开发提供强有力的支持。