项目背景
本项目开发初衷是基于数据库的表,生成Restful接口来简化开发,去除编写CRUD基础代码的时间,提高软件开发效率。使用本项目可以快速生成你的项目,缩短交付时间,你可以有更多的时间花在业务逻辑上,更多的时间测试!我们致力于开发出开箱即用的代码生成工具,欢迎使用与反馈!
项目说明
能根据已有数据库表结构,自动生成Python完整的基础接口项目(包含接口的文档);生成的目标项目基于Flask+sqlalchemy框架;所生成的接口符合restful风格规范;
本项目实体层基于flask-sqlacodegen工具生成,控制层和资源层以及服务层代码,基于自定义代码模板生成;基本接口已经生成,用户只需要在此基础上进行扩展增加和具体商业逻辑相关的接口即可;
项目仓库地址:
https://github.com/ncepu-iDealStudio/Python_RESTfulAPI_Codegen;
https://gitee.com/ncepu-bj/Python_RESTfulAPI_Codegen
项目特点
- 项目架构满足分层设计规范,分为实体层,控制器层和资源层(接口层)
- 用户可以添加服务层,作为商业逻辑层;
- 资源层(接口层),生成了满足restful风格规范的接口,发布后,可以直接让前端调用;
- 生产环境中,用户可以自行扩展接口层,对接新增加的服务层(具体商业逻辑)代码;
- 项目定位于先有数据库表设计(数据库及表设计规范,见下面的设计规范),后基于这些关系生成对象和实体及各层的代码;
- 生成的目标项目包含基于Docker容器的部署脚本;
- 自动化生成单元测试代码。
数据库满足以下的设计规范(建议)
- 数据库表名称推荐全小写,如student;如果涉及多个描述词,可使用"_"连接。如:user_info;
- 数据库表的字段中,必须包含一个主键;且不能为复合主键;
- 表的名称和表字段名称,不能是python的关键字。如:def,False, class都是不正确的
- 建议表的字段名称使用"大驼峰"命名法。如:UserName;
- 建议设计一个timestamp类型的"CreateTime"字段,默认为当前时间戳(用来记录数据创建的时间);
- 建议设计一个tinyint类型的"IsDelete"字段(用来实现记录的逻辑删除,0–有效,1–已删除),默认为0(注:如果生成器项目选择使用逻辑删除,则该字段必须存在)。