这门课解决什么问题,适合什么基础
如果你能写出基本的 Python 脚本,也跟着官方文档跑过 Flask 的 Hello World,但一提到“设计一个 REST API”就卡壳:不知道 GET、POST、PUT、DELETE 具体怎么映射到 Flask 路由,说不清状态码怎么返回、入参怎么校验、接口怎么测,那这门课就是给你补这块能力缺口的。它不兜售大而全的微服务架构,只盯一件事:用 Flask 把符合 HTTP 语义的 REST API 跑起来,并让你学会自己测。课程前半段用原生 Flask 手写路由,把底层逻辑拆开给你看;后半段引入 Flask-RESTful 扩展库,展示如何用更简练的代码完成同样的接口开发。它适合写过一点 Python、但没正经做过 Web 后端接口的人。门槛在于:你必须熟悉函数、字典、列表、装饰器这些 Python 基础语法。如果你连装饰器的执行逻辑都还生疏,建议先去补 Python 基础再看,否则到路由绑定和请求解析处会直接跟不上。
建议先看哪几块,资料怎么配合练习
别一上来就跳到扩展库,那样只会“照着抄能跑、换需求就废”。建议按这个顺序补:先看 HTTP 协议简介那一节,把请求方法、状态码、请求头和响应体捋清楚,这是后面所有代码的语义基础,不懂 HTTP 语义写 API 等于盲猜。接着看 GET、POST 的原生实现和测试,自己照着敲一遍,用 Postman 或 curl 把请求发出去,确认能拿到正确响应。再看 PUT、DELETE 的实现和测试,把“增查改删”凑齐。每一节对应的源码不要只下载不读:先凭记忆敲一遍,跑不通时再拿源码对比自己哪写错了,别养成“直接跑别人代码就算学过”的习惯。测试环节绝对别跳,很多人只会写接口不会测,到面试或上手真实项目时一测就露怯。等原生写法彻底通了,再看 Flask-RESTful 那块,对比它替你省了哪些样板代码、又把哪些细节藏起来了,这样你才知道什么时候该用它。
学完能独立做什么
- 能用原生 Flask 写出支持 GET、POST、PUT、DELETE 的接口,并说清楚每种方法该返回什么状态码、什么响应体格式。
- 能用 Postman 或 curl 对自己写的接口发请求、传参数、看响应,而不是只会靠浏览器地址栏测 GET 请求。
- 能说清扩展库相比原生 Flask 路由省了什么、封装了什么,在简单接口和带校验、带嵌套资源的接口里各自怎么取舍。
- 给一个“对某资源做增删改查”的小需求,能独立搭出可跑的 API,而不是对着视频逐行抄代码。
课程目录
1-1 [介绍] 课程介绍 (04:45) 1-2 [介绍] 课程源码下载 (02:51) 2-1 [Flask实现一个REST API] 开发环境的准备 (06:48) 2-2 [Flask实现一个REST API] Flask Hello World (05:48) 2-3 [Flask实现一个REST API] HTTP协议简介 (12:05) 2-4 [Flask实现一个REST API] GET,POST的Flask实现 (07:31) 2-5 [Flask实现一个REST API] GET,POST的测试 (09:48) 2-6 [Flask实现一个REST API] PUT,DELETE的Flask实现和测试 (13:49) 2-7 [Flask实现一个REST API] 本章总结 (02:30) 3-1 [Flask-RESTful快捷的创建REST API] 环境准备 (02:49) 3-2 [Flask-RESTful快捷的创建REST API] Flask-RESTful实现helloworld (04:28) 3-3 [Flask-RESTful快捷的创建REST API] API的设计 (07:25) 3-4 [Flask-RESTful快捷的创建REST API] 用户的创建和查看 (09:37) 3-5 [Flask-RESTful快捷的创建REST API] 用户的更新和删除 (07:28) 3-6 [Flask-RESTful快捷的创建REST API] 获取用户列表 (02:10) 3-7 [Flask-RESTful快捷的创建REST API] Request Parser问题 (11:40) 3-8 [Flask-RESTful快捷的创建REST API] Request Parser定制化type检查 (06:49) 3-9 [Flask-RESTful快捷的创建REST API] 本章总结 (03:13) 4-1 [Flask-SQLAlchemy的数据库操作] 什么是SQLAlchemy (07:09) 4-2 [Flask-SQLAlchemy的数据库操作] 第一次代码重构 (09:29) 4-3 [Flask-SQLAlchemy的数据库操作] User表的设计(可选) (07:33) 4-4 [Flask-SQLAlchemy的数据库操作] Flask-SQLAlchemy的安装和User表的实现 (06:23) 4-5 [Flask-SQLAlchemy的数据库操作] 第二次代码重构——FLask CLI的使用 (04:00) 4-6 [Flask-SQLAlchemy的数据库操作] Flask-Migrate的DB初始化 (11:50) 4-7 [Flask-SQLAlchemy的数据库操作] Flask-Migrate的DB初始化MySQL演示 (06:34) 4-8 [Flask-SQLAlchemy的数据库操作] SQLAlchemy之数据的插入 (07:04) 4-9 [Flask-SQLAlchemy的数据库操作] SQLAlchemy之数据的读取 (09:57) 4-10 [Flask-SQLAlchemy的数据库操作] SQLAlchemy之数据的更新和删除 (05:11) 4-11 [Flask-SQLAlchemy的数据库操作] 在API Resource中进行database操作(1) (08:56) 4-12 [Flask-SQLAlchemy的数据库操作] 在API Resource中进行database操作(2) (01:53) 5-1 [Flask-RESTful的功能增强] 第三次代码重构——config的统一管理 (03:23) 5-2 [Flask-RESTful的功能增强] password的hash实现 (10:07) 5-3 [Flask-RESTful的功能增强] Token认证-JWT Token介绍 (09:47) 5-4 [Flask-RESTful的功能增强] 在API获取Token (14:22) 5-5 [Flask-RESTful的功能增强] API使用Token (05:18) 5-6 [Flask-RESTful的功能增强] flask-jwt的使用 (13:50) 5-7 [Flask-RESTful的功能增强] 第四次代码重构——DB Model的加强 (07:10) 6-1 [Flask-RESTful实现复杂关系API] SQL中的Relationship (03:14) 6-2 [Flask-RESTful实现复杂关系API] Table的设计 (11:37) 6-3 [Flask-RESTful实现复杂关系API] FLask Shell测试Table (12:18) 6-4 [Flask-RESTful实现复杂关系API] API Resource的实现 (10:48) 6-5 [Flask-RESTful实现复杂关系API] JWT Token的权限细分 (04:37) 6-6 [Flask-RESTful实现复杂关系API] 第五次代码重构——构造一个Model Base Class (06:34) 7-1 [Flask-RESTful的单元测试] 什么是单元测试 (34) 7-2 [Flask-RESTful的单元测试] 测试的config管理 (06:58) 7-3 [Flask-RESTful的单元测试] User的相关测试-1 (14:59) 7-4 [Flask-RESTful的单元测试] User的相关测试-2 (02:44) 7-5 [Flask-RESTful的单元测试] JWT Token的单元测试 (11:33) 7-6 [Flask-RESTful的单元测试] Tweet的单元测试 (02:31) 7-7 [Flask-RESTful的单元测试] 第六次代码重构——Test Base Class (02:51) 8-1 [REST API 服务的部署] 第七次代码重构——配置中使用环境变量 (05:38) 8-2 [REST API 服务的部署] 部署到哪里?怎么部署? (14:21) 8-3 [REST API 服务的部署] Heroku的安装和准备 (08:22) 8-4 [REST API 服务的部署] Heroku Helloworld (07:33) 8-5 [REST API 服务的部署] RestDemo APP的部署和测试 (13:56) 8-6 [REST API 服务的部署] 第八次代码重构——Tox集成化测试和代码风格检查 (05:37)




