DRF
使用Django rest_framework實(shí)現(xiàn)rest api;

RESTful設(shè)計(jì)方法
1.域名
2.版本
3.路徑
4.HTTP動(dòng)詞
5.過(guò)濾信息
6.狀態(tài)碼
7.錯(cuò)誤處理
8.返回結(jié)果
9.超媒體
10.其他;服務(wù)器盡量返回json數(shù)據(jù),避免xml
序列化;
獲取數(shù)據(jù)對(duì)象----》返還json給前端
ser.data; 獲取查詢后的數(shù)據(jù)
使用關(guān)聯(lián)對(duì)象;
PrimaryKeyRelatedField;
該字段將被序列化成為關(guān)聯(lián)對(duì)象的主鍵;
StringRelatedField;
此字段將被序列化為關(guān)聯(lián)對(duì)象的字符串表示方式;
HyperlinkedRelatedField;

SlugRelatedField;

to_representations方法不僅局限在控制關(guān)聯(lián)對(duì)象格式上,適用于各個(gè)序列化器字段類型。(重寫字段格式)
反序列化;
獲取前端數(shù)據(jù)----》數(shù)據(jù)驗(yàn)證---》將驗(yàn)證后的數(shù)據(jù)進(jìn)行保存或更新----》得到數(shù)據(jù)
ser.is_valid(); 驗(yàn)證通過(guò)返回True,否則為False
validated_data ; 獲取驗(yàn)證后的數(shù)據(jù)
orderedDict;類似字典的方式存儲(chǔ)數(shù)據(jù)
ser.errors;查看錯(cuò)誤信息(之前在代碼行定義)

單個(gè)字段驗(yàn)證;

多個(gè)字段驗(yàn)證;

- 定義方法驗(yàn)證字段必須返回相應(yīng)的值
保存與更新;

- partial=True;使得之前所有required=False變?yōu)門rue,True變?yōu)镕alse;
模型類序列化器;
- 自動(dòng)生成自己想要的序列化器,簡(jiǎn)化代碼,工具包早已定義好

exclude=(‘’)表示排除某個(gè)字段的輸出;
depth=1;表示層級(jí)嵌套一層;
例如;一個(gè)英雄對(duì)象嵌套一層圖書信息;
顯示指明字段;

為字段添加參數(shù);

序列化;從數(shù)據(jù)庫(kù)獲取數(shù)據(jù)轉(zhuǎn)換為json數(shù)據(jù)等其他數(shù)據(jù)格式返回給前端
反序列化;對(duì)于數(shù)據(jù)的post與put進(jìn)行數(shù)據(jù)的修改與刪除等等數(shù)據(jù)庫(kù)操作,使用反序列化,獲取前端需要操作的json數(shù)據(jù)等其他格式信息,校驗(yàn)數(shù)據(jù)(與數(shù)據(jù)庫(kù)進(jìn)行對(duì)比),在反序列化里進(jìn)行修改成模型類對(duì)象數(shù)據(jù)保存,然后返回給前端;