这门课解决什么问题,适合什么基础

如果你能写出基本的 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)