# auto-Api **Repository Path**: ywtnhm/auto-Api ## Basic Information - **Project Name**: auto-Api - **Description**: 全自动化API文档和测试,支持任意语言和框架 - **Primary Language**: Python - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 23 - **Created**: 2018-12-08 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # auto-Api #### 项目介绍 如果你在为API文档的编写和测试的繁琐而烦恼,那么这个项目你可算找对了。 全自动化API文档和测试,支持任意语言和框架。解放生产力,不用再为文档更新的不及时和测试用例的编写而烦恼。 一键自动化快速生成文档,检查文档的内容和自己的API的意图是否一致,快速定位设计缺陷。 应用开发者再也不会因为文档错误找你麻烦了 ##### 优势: 1. 搭建好后,自动化构建文档,不用再在文档维护上花费更多心力。API服务器软件更新,文档同步更新只用简单点击按钮即可 2. 高度可定制空间,对特殊的API的开发规格适配比较容易(阅读下wiki) 3. 使用便捷,安装方便(出现问题可以找我)。通过图形界面就可以做出足够的操作 4. 作者好联系,有麻烦绝对会出来解决 ##### 缺陷: 1. 因为项目目前只有一个人开发,所以可能会有问题,但联系我讨论项目相关的问题,我都会在的 2. 目前只支持 json 格式的返回值分析,xml或者其他格式的支持也不困难。有需要可以提issue 3. 必须要是被请求过的API才会自动构建文档。这也应该算不上什么大问题,因为服务端开发肯定是要测试的,开发者的测试请求被拦截,自然可以构建出文档。 #### 使用界面 1. 自动构建文档,只要点下按钮,等待一会。文档就会自动构建 ![点击](https://images.gitee.com/uploads/images/2018/1204/164707_a02eff8e_602344.png "屏幕截图.png") 2. 点击左边的API列表,就能看到文档内容 ![请求参数](https://images.gitee.com/uploads/images/2018/1204/165052_993a440e_602344.png "屏幕截图.png") ![返回值](https://images.gitee.com/uploads/images/2018/1204/165132_26dfbe56_602344.png "屏幕截图.png") 3. 一些无法简单通过代理归纳的问题,需要通过其他方式实现自动化理解,有些则必须要人工。比如API的用途说明。 ![问题](https://images.gitee.com/uploads/images/2018/1204/171243_43e80ab2_602344.png "屏幕截图.png") 4.提供搜索API功能 ![搜索结果](https://images.gitee.com/uploads/images/2018/1205/124300_e254b2b9_602344.png "屏幕截图.png") 5. 自动检测API影响到的数据库 ![数据库](https://images.gitee.com/uploads/images/2018/1206/162022_10ecbe05_602344.png "屏幕截图.png") #### 软件架构 绿色的是主体程序,黄色的是可选的部分(涉及一些API自动理解的计算,刚开始可以不用管) ![项目架构](https://images.gitee.com/uploads/images/2018/1204/164006_d93f4378_602344.jpeg "项目架构.jpg") #### 安装教程 1. 克隆本项目到服务器上 2. 用pip3安装些必要的包`pip install -r requirements.txt` 3. 打开`proxy.conf`进行配置,配置说明在这个文件里有说明(理解了软件架构,应该了解怎么配置) 4. `python3 proxy.py`启动代理,进行监听 5. `go run db_proxy/main.go` 启动数据库代理 # 可选的,刚开始可以无视 6. `python3 web_console.py` 启动web界面服务端程序 7. 到这里就可以打开 http://localhost:9001 开始使用了 #### 额外的进阶内容 1. 目前项目没有登陆和后台管理系统之类的东西,限制查看人员,只有一个gitlab 的oauth2 的验证 2. 一些细节可以在这个项目的wiki上看 3. 数据库代理目前只测试过PostgreSql。要求通讯中不能被加密,这样就能记录某个请求产生的影响 #### 待完成内容 1. 请求参数具体影响和可能来源计算 2. 还有其他。。。 #### 参与贡献 1. 提Issue 把使用中遇到的问题告诉我 2. 点个star 让我开心下 3. 提PR,这就厉害了,非常感谢。 #### 从哪里开始 1. 如果要阅读和修改代码,可以从`web_console.py`这个文件开始,这是web服务的实现脚本(全部堆这里了) 2. `proxy.py` 是代理脚本,如果发现什么bug,欢迎提PR(自己撸的简单反向代理) 3. 自动化理解API算法,在`solvers.py` 下面,目前还不是很建议读,我要把相关的实现文档写下会好读些 4. 提交PR之前不要将proxy.conf 的修改commit ,用`git update-index --assume-unchanged proxy.conf` #### 联系我 有任何使用问题,都可以联系我 QQ群:604437106 自动化文档