Python Flask構(gòu)建可擴(kuò)展的RESTful API
前后端分離大勢(shì)所趨,本課程將構(gòu)建一套優(yōu)秀的RESTful API,可以適配小程序、App 、wap 、web前端頁面,除此之外,課程擴(kuò)展了Flask框架機(jī)制,培養(yǎng)編程思維,隨心所欲玩轉(zhuǎn)Flask。優(yōu)秀完整的RESTful API框架,你也可以實(shí)現(xiàn)。還等什么,來試試吧!
課程目錄
第1章 隨便聊聊
聊聊Flask與Django,聊聊代碼的創(chuàng)造性
1-2 課程更新維護(hù)說明
第2章 起步與紅圖
本章我們初始化項(xiàng)目,探討與研究Flask的默認(rèn)層級(jí)結(jié)構(gòu)。當(dāng)我們遇到層級(jí)結(jié)構(gòu)不合理時(shí),我們將模仿藍(lán)圖自己定義一個(gè)“紅圖”來擴(kuò)展Flask層級(jí)體系
2-1 環(huán)境、開發(fā)工具與flask1.0
2-2 初始化項(xiàng)目
2-3 新建入口文件
2-4 藍(lán)圖分離視圖函數(shù)的缺陷
2-5 打開思維,創(chuàng)建自己的Redprint——紅圖
2-6 實(shí)現(xiàn)Redprint
2-7 優(yōu)化Redprint
第3章 REST基本特征
本章我們將探討REST的基本特征,并結(jié)合實(shí)際情況給出REST的適用范圍與優(yōu)劣勢(shì)
3-1 REST的最基本特征(可選觀看)
3-2 為什么標(biāo)準(zhǔn)REST不適合內(nèi)部開發(fā)(可選觀看)
第4章 自定義異常對(duì)象
異常處理其實(shí)是一個(gè)非常嚴(yán)肅而又麻煩的事情,這直接涉及到前端如何對(duì)用戶做出響應(yīng)。本章我們將重寫HTTPException并建立全局異常處理機(jī)制,統(tǒng)一處理框架內(nèi)的異常,向前端返回統(tǒng)一而標(biāo)準(zhǔn)的異常信息,簡化前端的開發(fā)流程
4-1 關(guān)于“用戶”的思考
4-2 構(gòu)建Client驗(yàn)證器
4-3 處理不同客戶端注冊(cè)的方案
4-4 創(chuàng)建User模型
4-5 完成客戶端注冊(cè)
4-6 生成用戶數(shù)據(jù)
4-7 自定義異常對(duì)象
4-8 淺談異常返回的標(biāo)準(zhǔn)與重要性
4-9 自定義APIException
第5章 理解WTForms并靈活改造她
WTForms其實(shí)是非常強(qiáng)大的驗(yàn)證插件。但很多同學(xué)對(duì)WTForms的理解僅僅停留在“驗(yàn)證表單”上。那WTForms可以用來做API的參數(shù)驗(yàn)證碼?完全可以,但這需要你靈活的使用它,對(duì)它做出一些“改變”
5-1 重寫WTForms 一
5-2 重寫WTForms 二
5-3 可以接受定義的復(fù)雜,但不能接受調(diào)用的復(fù)雜
5-4 已知異常與未知異常
5-5 全局異常處理
第6章 Token與HTTPBasic驗(yàn)證 —— 用令牌來管理用戶
在我的TP5課程里,我們使用令牌的方式是服務(wù)器緩存的方式。那么在Python Flask中我們換一種令牌的發(fā)放方式。我們將用戶的信息加密后作為令牌返回到客戶端,客戶端在訪問服務(wù)器API時(shí)必須以HTTP Basic的方式攜帶令牌,我們?cè)僮x取令牌信息后,將用戶信息存入到g變量中,共業(yè)務(wù)代碼全局使用…
6-1 Token概述
6-2 獲取Token令牌
6-3 Token的用處
6-4 @auth攔截器執(zhí)行流程
6-5 HTTPBasicAuth基本原理
6-6 以BasicAuth的方式發(fā)送Token
6-7 驗(yàn)證Token
6-8 重寫first_or_404與get_or_404
第7章 模型對(duì)象的序列化
最適合Python JSON序列化的是dict字典類型,每一種語言都有其對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)用來對(duì)應(yīng)JSON對(duì)象,比如在PHP中是它的數(shù)組數(shù)據(jù)結(jié)構(gòu)。而Python是用字典來對(duì)應(yīng)JSON的。如果我們想直接序列化一個(gè)對(duì)象或者模型對(duì)象,那么最笨的辦法是把對(duì)象的屬性讀取出來,然后組裝成一個(gè)字典再序列化。這實(shí)在是太麻煩了。本章節(jié)我們將深入了解JSO…
7-1 雞湯?
7-2 理解序列化時(shí)的default函數(shù)
7-3 不完美的對(duì)象轉(zhuǎn)字典
7-4 深入理解dict的機(jī)制
7-5 一個(gè)元素的元組要特別注意
7-6 序列化SQLAlchemy模型
7-7 完善序列化
7-8 ViewModel對(duì)于API有意義嗎
第8章 權(quán)限控制
我看過太多同學(xué)編寫的API在互聯(lián)網(wǎng)上瘋狂的裸奔了。殊不知這太危險(xiǎn)了。API必須提供分層保護(hù)機(jī)制,根據(jù)不同用戶的種類來限制其可以訪問的API,從而保護(hù)接口。比如管理員可以訪問哪些接口,普通用戶可以訪問哪些接口,小程序可以訪問哪些,APP又能夠訪問哪些?靈活而強(qiáng)大的可配置Scope,可以幫助你事半功倍…
8-1 刪除模型注意事項(xiàng)
8-2 g變量中讀取uid防止超權(quán)
8-3 生成超級(jí)管理員賬號(hào)
8-4 不太好的權(quán)限管理方案
8-5 比較好的權(quán)限管理方案
8-6 實(shí)現(xiàn)Scope權(quán)限管理 一
8-7 globals()實(shí)現(xiàn)“反射”
8-8 實(shí)現(xiàn)Scope權(quán)限管理 二
8-9 Scope優(yōu)化一 支持權(quán)限相加
8-10 Scope優(yōu)化 二 支持權(quán)限鏈?zhǔn)较嗉?br />8-11 Scope優(yōu)化 三 所有子類支持相加
8-12 Scope優(yōu)化 四 運(yùn)算符重載
8-13 Scope 優(yōu)化 探討模塊級(jí)別的Scope
8-14 Scope優(yōu)化 實(shí)現(xiàn)模塊級(jí)別的Scope
8-15 Scope優(yōu)化 七 支持排除
第9章 實(shí)現(xiàn)部分魚書小程序功能
理論必須結(jié)合實(shí)踐,我們提供一個(gè)簡單的魚書小程序,編寫他的業(yè)務(wù)接口,并用小程序來進(jìn)行API的檢驗(yàn)
9-1 小程序演示API調(diào)用效果
9-2 模糊搜索書籍
9-3 再談嚴(yán)格型REST的缺陷
9-4 實(shí)現(xiàn)hide方法
9-5 @orm.reconstructor 解決模型對(duì)象實(shí)例化問題
9-6 重構(gòu)hide與append
9-7 贈(zèng)送禮物接口
9-8 實(shí)現(xiàn)獲取令牌信息接口






