日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

restful规范和APIView

發(fā)布時(shí)間:2024/4/17 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 restful规范和APIView 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

django生命周期

1.先進(jìn)入wsgi協(xié)議的web服務(wù)器2.進(jìn)入django的中間件3.路由4.視圖5.取模板,取數(shù)據(jù),用數(shù)據(jù)渲染模板6.返回模板的字符串7.在wsgi中封裝后發(fā)送給瀏覽器

開發(fā)模式

1.前后端不分離項(xiàng)目可以使用django的模板語法進(jìn)行渲染 2.前后端分離前端和后端通過json格式數(shù)據(jù)交互

cbv源碼分析

路由如果這么配置:url(r'^test/',views.test.as_views())請求通過中間件后進(jìn)入路由,根據(jù)路由匹配,一旦成功,會(huì)執(zhí)行后面函數(shù)(request),本質(zhì)就是執(zhí)行了as_view內(nèi)部的view函數(shù),內(nèi)部有調(diào)用了self.dispatch。根據(jù)請求方式,執(zhí)行不同的方法(必然get請求,就會(huì)執(zhí)行我們寫的視圖的get方法)嘗試自己封裝一個(gè)APIView,重寫dispatch方法,在執(zhí)行父類的dispatch之前,寫一些邏輯,請求來了,就會(huì)執(zhí)行這些邏輯

APIView的dispath方法

1.對原生request對象做了一層包裝(面向?qū)ο蟮姆庋b),以后再用的request對象都是新的request對象2.在APIView中self.initial(request,*args,**kwargs),里面有頻率控制,權(quán)限控制和認(rèn)證相關(guān)3.根據(jù)請求方法執(zhí)行我們寫的視圖類中的相應(yīng)方法視圖類中方法的request對象,已經(jīng)變成了封裝后的request

Request類

1.原生的request是self.request2.取以post形式提交的數(shù)據(jù),從request.data中取(urlencoded,formdata,json格式)3.query_params就是原生request的GET的數(shù)據(jù)4.上傳的文件是從FILES中取5.(重點(diǎn))其他的屬性,直接request.屬性名(因?yàn)橹貙懥薩_getattr__方法)

restful規(guī)范

面向資源架構(gòu)1.API與用戶通信協(xié)議,總是使用Https協(xié)議(相比http有加密的功能)2.域名有區(qū)分-https://api.example.com-https://example.org/api/3.版本-可以放在路徑中-可以放在請求頭中4.路徑視網(wǎng)絡(luò)上任何東西都是資源,均使用名詞表示(重點(diǎn))-https://api.example.com/v1/zoos5.通過method區(qū)分是什么操作-get表示獲取-post表示新增-delete表示刪除-patch/put表示修改6.過濾通過url上傳參的形式傳遞搜索條件7.狀態(tài)碼{'status_code':100}8.錯(cuò)誤處理,應(yīng)返回錯(cuò)誤信息{'status_code':100,'msg':'登錄成功'}{'status_code':101,'msg':'用戶錯(cuò)誤'}9.返回結(jié)果,針對不同操作,服務(wù)器向用戶返回的結(jié)果-get獲取所有資源/get獲取一個(gè)資源-127.0.0.1/api/vi/books 獲取所有圖書{'status_code':100,'msg':'獲取成功',data:'[{},{}]'}-127.0.0.1/api/vi/books/3 獲取id為3的圖書{'status_code':100,'msg':'獲取成功',data:{name:xx...}}-新增數(shù)據(jù),把新增的數(shù)據(jù)再返回-修改了數(shù)據(jù),返回完整的資源對象-刪除數(shù)據(jù),返回一個(gè)空文檔10.返回結(jié)果中提供鏈接

轉(zhuǎn)載于:https://www.cnblogs.com/Mr-bear/articles/11116704.html

總結(jié)

以上是生活随笔為你收集整理的restful规范和APIView的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。