小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

測(cè)試開發(fā)你不得不學(xué)的 REST API 開發(fā)

 TestOps云層 2021-06-22

現(xiàn)在前后端分離的架構(gòu)設(shè)計(jì)越來越流行,業(yè)界甚至出現(xiàn)了API優(yōu)先的趨勢(shì)。顯然API開發(fā)已經(jīng)成為后端程序員的必備技能了,那作為一個(gè)測(cè)試,特別是把Django作為自己主要的自動(dòng)化測(cè)試平臺(tái)的測(cè)試開發(fā),Django REST framework(DRF)這個(gè)REST API開發(fā)框架就是你不得不掌握的內(nèi)容了。


前置知識(shí)點(diǎn)

RESTful架構(gòu):https://mp.weixin.qq.com/s/hsthbAPUJMR_aOrxC1g79Q

初識(shí)Django:https://mp.weixin.qq.com/s/EhGWefofhWtAjdd8sSMC-A

在開始動(dòng)手使用Django REST framework 編寫你的自動(dòng)化測(cè)試平臺(tái)之前,請(qǐng)大家先閱讀以上兩篇文章了解RESTful架構(gòu)以及Django的基本開發(fā)流程。

環(huán)境準(zhǔn)備

構(gòu)建一個(gè)虛擬環(huán)境,并安裝好相關(guān)依賴:

創(chuàng)建一個(gè)Django項(xiàng)目及APP:

編輯配置文件setting.py:

創(chuàng)建一個(gè)Django項(xiàng)目及APP:

更新數(shù)據(jù)庫(kù):

模型與序列化

在準(zhǔn)備好環(huán)境之后,接下來針對(duì)項(xiàng)目信息這個(gè)接口進(jìn)行開發(fā)。

首先是模型層,在apiTest/model.py 創(chuàng)建一個(gè)Project 類來存儲(chǔ)項(xiàng)目信息:

Django REST framework框架與Django框架最核心的區(qū)別就是:序列化器,DRF提供了定義序列化器Serializer的方法,可以幫助我們簡(jiǎn)化序列化和反序列化部分的代碼編寫,大大提高REST API的開發(fā)速度。

序列化器的作用:

對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換 序列化(對(duì)象轉(zhuǎn)為json)和反序列化(json轉(zhuǎn)為對(duì)象);

進(jìn)行數(shù)據(jù)的校驗(yàn) 判斷用戶發(fā)送的數(shù)據(jù)是否合法。

在apiTest/serializers.py 中添加關(guān)于Project 對(duì)象的序列化代碼:

視圖

DFR 提供了 請(qǐng)求對(duì)象(Request objects)響應(yīng)對(duì)象(Response objects)來提供更加靈活的請(qǐng)求解析和使用內(nèi)容協(xié)商來確定返回給客戶端的正確內(nèi)容類型。

DFR還提供了兩個(gè)可用于編寫API視圖的包裝器(wrappers):

用于基于函數(shù)視圖的@api_view裝飾器;

用于基于類視圖的APIView類。

接下來,我們將使用APIView 類進(jìn)行視圖開發(fā)。

在apiTest/project.py中添加以下代碼:

顯示-URLs

為了客戶端能夠訪問開發(fā)完成的接口(即url與視圖的映射),在apiTest/urls中添加如下代碼:

如此就可以通過 http://127.0.0.1/project/ 以及http://127.0.0.1/project/id/ 訪問到Project 對(duì)象的增刪查改等操作頁(yè)面啦。

后記

DRF 也提供了認(rèn)證與權(quán)限、超鏈接API等等功能,大家可以通過查看官方文檔繼續(xù)學(xué)習(xí)~

官網(wǎng)地址:https://www./

微信號(hào) : TestOps

知乎:@TestOps云層

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多