# auto-Api **Repository Path**: hwsyy/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-05 - **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. 提供gitlab 的oauth2 验证,不用管理用户,只要有公司的gitlab角色就可以使用。同时防止非公司内人员查看文档。 #### 软件架构 绿色的是主体程序,黄色的是可选的部分(涉及一些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 的验证 #### 参与贡献 1. Fork 本项目 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 从哪里开始 1. 如果要阅读和修改代码,可以从`web_console.py`这个文件开始,这是web服务的实现脚本(全部堆这里了) 2. `proxy.py` 是代理脚本,如果发现什么bug,欢迎提PR(自己撸的简单反向代理) 3. 自动化理解API算法,在`solvers.py` 下面,目前还不是很建议读,我要把相关的实现文档写下会好读些 #### 联系我 有任何使用问题,都可以联系我 QQ群:604437106