应该是从mylab开始意识到文档管理的重要性,因为要和前端对接,当时用的是gitbook,有一个git仓库,在里面写markdown,然后提交,gitbook会自动生成前端页面
之后hp开始接触到swagger,感觉很难用。。其实很大原因是使用方式不对
两家大厂,用的都是类似纯doc的文档去管理接口…或者用飞书文档
在argment,go-zero生成swagger,导入到apifox里面
在arcv,用echo框架,新增接口时,在controller层的对应func上方新增如下注释:
1 | // SysLogList |
将相应改动上传
然后去文档构建服务器
拉取最新的代码,执行 swag init --parseDependency --parseInternal -g ./cmd/main.go
此时会看到类似如下输出:
1 | 2023/05/19 17:05:58 Generate swagger docs.... |
(下面这样操作,完全是为了特殊case,不想把文档打包进去。所以使用了tag标签。。。
此时将会在docs下,生成最新的swagger.json和swagger.yaml文档。用这两个新文件,替换/usr/local/arcvideo/arcbox/docs目录下的同名文件
而后在项目根目录下执行 go build -tags doc -ldflags="-s -w" -o box_server ./cmd && mv box_server /usr/local/arcvideo/arcbox/ && service arcbox-server stop && service arcbox-server start
)
此时刷新http://10.9.100.154/api/swagger/doc.json,能搜索到最新的改动。
同时apifox如果配置了自动同步,也会自动更新
原文链接: https://dashen.tech/2020/05/19/一些不错的接口文档管理方案/
版权声明: 转载请注明出处.