日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

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

 TestOps云層 2021-06-22

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

在開(kāi)始動(dòng)手使用Django REST framework 編寫(xiě)你的自動(dòng)化測(cè)試平臺(tái)之前,請(qǐng)大家先閱讀以上兩篇文章了解RESTful架構(gòu)以及Django的基本開(kāi)發(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)境之后,接下來(lái)針對(duì)項(xiàng)目信息這個(gè)接口進(jìn)行開(kāi)發(fā)。

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

Django REST framework框架與Django框架最核心的區(qū)別就是:序列化器,DRF提供了定義序列化器Serializer的方法,可以幫助我們簡(jiǎn)化序列化和反序列化部分的代碼編寫(xiě),大大提高REST API的開(kāi)發(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)來(lái)提供更加靈活的請(qǐng)求解析和使用內(nèi)容協(xié)商來(lái)確定返回給客戶端的正確內(nèi)容類型。

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

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

用于基于類視圖的APIView類。

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

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

顯示-URLs

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

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

后記

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

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

微信號(hào) : TestOps

知乎:@TestOps云層

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

    0條評(píng)論

    發(fā)表

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

    類似文章 更多