本文根据实际项目中的一部分api 设计抽象出来,实例化成一个简单小例子,暂且叫作「学生管理系统」。
这个系统主要完成下面增删改查的功能:
包括:
学校信息的管理
教师信息的管理
学生信息的管理
根据Api请求的动作:
POST: 增加信息
GET: 查询信息
PUT: 更新信息
DELETE: 删除信息
可以以下面一个简单的实例看这个系统完成什么样的工作:
发送curl 命令:
返回结果:
其他的动作类似的发送api 请求,完成相应的动作,真实的项目往往后加上数据库的操作。
整个流程主要包括:
restful api 设计
数据表设计
开发:目录的结构、一致性
结果展示
1. Restful API 设计
主要包括URL 设计和 状态码的设计:
POST:
GET:
PUT:
DELETE:
2. 数据库设计
主要包括:表设计,字段类型等的设计,鉴于篇幅有限只展示School 表:
School:
3. 开发
目录结构:考虑两个因素
耦合性
扩展性
数据库操作和业务操作分开,提供接口:
数据库API:
主要使用sqlalchemy 的增删改查进行封装:
以add 实例:
flask_api:
主要使用flask 定义不同动作的接口:
以POST示例:
4. 工具
restful api 发送请求命令工具:
POSTMAN: chrome 浏览器插件
RESTClient: 火狐浏览器插件
服务器端:用curl 命令吧
POSTMAN 示例图:
postman.png
5. 结果展示
发送请求(api) --》 数据库增删改查(数据持久化) --》 返回Json 格式的数据和状态码(展示)
result:
数据库 school 表中插入这条数据,并把插入的数据信息展示出来。
school_post.png
code:
code
领取专属 10元无门槛券
私享最新 技术干货