Merge branch ‘master’ into release
能根据已有数据库表结构,自动生成Python完整的基础接口项目(包含接口的文档);生成的目标项目基于Flask+sqlalchemy框架;所生成的接口符合restful风格规范;
本项目实体层基于flask-sqlacodegen工具生成,控制层和资源层以及服务层代码,基于自定义代码模板生成;基本接口已经生成,用户只需要在此基础上进行扩展增加和具体商业逻辑相关的接口即可;
└── api.sqlcodegen.com ├── app # 项目初始化文件夹 │ ├── init.py │ └── setting.py ├── config # 项目配置 │ └── config.conf ├── models # 实体层 – 数据表对应的实体 │ └── userInfoModel.py ├── controller # 控制器层 – 负责表记录的增删改查 │ └── userInfoController.py ├── service # 业务层 – 负责项目主要业务逻辑的编写 │ └── userInfoService.py ├── test # 单元测试层 – 负责项目接口测试 ├── api_1_0 # 资源层 – 负责对外暴露接口 │ ├── apiVersionResource │ │ ├── apiVersionResource.py │ │ ├── init.py │ │ └── urls.py │ └── userInfoResource │ ├── init.py │ ├── urls.py │ ├── userInfoOtherResource.py │ └── userInfoResource.py ├── deploy # 项目部署的配置文件 │ ├── gunicorn.conf │ ├── nginx_flask.conf │ └── supervisord.conf ├── common ├── docker-compose.yml ├── dockerfile ├── gunicorn.py ├── manage.py ├── requirements.txt └── utils # 常用方法工具包 ├── commons.py ├── loggings.py ├── response_code.py └── rsa_encryption_decryption.py
一 数据库满足以下的设计规范(三”必须”三”建议”)
二 生成器项目使用
3.8.0
pip install -r requirements.txt
三 目标项目测试
用开发工具(Pycharm或者vscode)打开dist中的目标项目文件夹;
为目标项目配置好虚拟环境;Python的版本>=3.8.0;
安装软件运行必须的包:pip install -r requirements.txt;
运行目标项目:python manage.py runserver;
python manage.py runserver
打开postman进行接口测试:http://127.0.0.1:5000/api_1_0/apiversionapi_1_0为项目生成器中设置的版本号,如果接口版本参数为1.0,则此时链接中的版本号字符串为:api_1_0;
接口版本
测试基本业务相关接口;
目标项目自动化测试(基于pytest):
打开目标项目下的test文件夹,在Test_xxxController/datas.py 及 Test_xxxResource/datas.py 中添加测试数据;
运行test_start.py文件并生成测试报告;
四 生成器项目详细使用指南
产品特性
PEP 8
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
项目说明: Python_RESTfulAPI_Codegen
能根据已有数据库表结构,自动生成Python完整的基础接口项目(包含接口的文档);生成的目标项目基于Flask+sqlalchemy框架;所生成的接口符合restful风格规范;
本项目实体层基于flask-sqlacodegen工具生成,控制层和资源层以及服务层代码,基于自定义代码模板生成;基本接口已经生成,用户只需要在此基础上进行扩展增加和具体商业逻辑相关的接口即可;
生成的目标接口项目特点:
目标项目详细目录:
└── api.sqlcodegen.com
├── app # 项目初始化文件夹
│ ├── init.py
│ └── setting.py
├── config # 项目配置
│ └── config.conf
├── models # 实体层 – 数据表对应的实体
│ └── userInfoModel.py
├── controller # 控制器层 – 负责表记录的增删改查
│ └── userInfoController.py
├── service # 业务层 – 负责项目主要业务逻辑的编写
│ └── userInfoService.py
├── test # 单元测试层 – 负责项目接口测试 ├── api_1_0 # 资源层 – 负责对外暴露接口
│ ├── apiVersionResource
│ │ ├── apiVersionResource.py
│ │ ├── init.py
│ │ └── urls.py
│ └── userInfoResource
│ ├── init.py
│ ├── urls.py
│ ├── userInfoOtherResource.py
│ └── userInfoResource.py
├── deploy # 项目部署的配置文件
│ ├── gunicorn.conf
│ ├── nginx_flask.conf
│ └── supervisord.conf
├── common
├── docker-compose.yml
├── dockerfile
├── gunicorn.py
├── manage.py
├── requirements.txt
└── utils # 常用方法工具包
├── commons.py
├── loggings.py
├── response_code.py
└── rsa_encryption_decryption.py
生成器项目的使用说明:
一 数据库满足以下的设计规范(三”必须”三”建议”)
二 生成器项目使用
git clone https://gitee.com/ncepu-bj/Python_RESTfulAPI_Codegen
3.8.0
pip install -r requirements.txt
三 目标项目测试
用开发工具(Pycharm或者vscode)打开dist中的目标项目文件夹;
为目标项目配置好虚拟环境;Python的版本>=
3.8.0
;安装软件运行必须的包:
pip install -r requirements.txt
;运行目标项目:
python manage.py runserver
;打开postman进行接口测试:http://127.0.0.1:5000/api_1_0/apiversion
api_1_0为项目生成器中设置的版本号,如果
接口版本
参数为1.0,则此时链接中的版本号字符串为:api_1_0;测试基本业务相关接口;
目标项目自动化测试(基于pytest):
打开目标项目下的test文件夹,在Test_xxxController/datas.py 及 Test_xxxResource/datas.py 中添加测试数据;
运行test_start.py文件并生成测试报告;
四 生成器项目详细使用指南
产品特性
PEP 8
_ compliant codePEP 8
_规范