前言
在前后端分離開發(fā)時(shí)涌穆,后端工作人員完成系統(tǒng)接口開發(fā)后怔昨,需要與前端人員對接,測試調(diào)試接口宿稀,驗(yàn)證接口的正確性可用性趁舀。而這要求前端開發(fā)進(jìn)度和后端進(jìn)度保持基本一致,任何一方的進(jìn)度跟不上祝沸,都無法及時(shí)完成功能模塊的測試矮烹。
做為后端開發(fā)人員,要求獨(dú)立開發(fā)完成某個(gè)接口后罩锐,開發(fā)人員自己需要先測試通過后再提交給測試人員進(jìn)行測試,否則會出現(xiàn)到測試人員哪里業(yè)務(wù)流程根本就走不通,或者BUG會過多的情況等问芬。
市場上有很多優(yōu)秀的,完善的接口測試工具,比如SoapUI,Postman等最域,能夠高效的幫助后端開發(fā)人員獨(dú)立進(jìn)行接口測試忘伞。這里使用Postman接口測試工具探颈,此處以請求方式為POST的userLogin登錄接口為例。
Postman安裝和使用
1、這個(gè)直接去官網(wǎng)下載即可化借,我們使用免費(fèi)版即可滿足基本接口測試蒜焊,根據(jù)個(gè)人或者公司的項(xiàng)目實(shí)際情況考慮是否需要專業(yè)版或者其他。
免費(fèi)版官網(wǎng)鏈接:https://www.getpostman.com/postman
下載好的安裝程序Postman-Win64-xxx-Setup.exe,雙擊安裝即可。建議安裝在非系統(tǒng)盤,即C盤在外的其他盤允蚣,另建議使用全英文路徑做入,避免使用中文路徑。
2、打開Postman如下圖,可以關(guān)閉該頁面跳過注冊賬戶,非登陸狀態(tài)下該工具可以直接使用。接下來出現(xiàn)引導(dǎo)頁面,類似IDEA二庵,Android Studio等開發(fā)工具的引導(dǎo)頁因妙。此處關(guān)閉即可洽沟。
注冊賬戶圖
項(xiàng)目創(chuàng)建引導(dǎo)圖
3缎岗、進(jìn)入Postman主頁面并創(chuàng)建項(xiàng)目接口集合
這里是我之前用過或渤,所以左側(cè)文件欄存在幾個(gè)已有的文件夾池磁。
選擇功能菜單New下的Collection創(chuàng)建項(xiàng)目接口集合端考。新建一個(gè)億的項(xiàng)目A hundred million扶供,可在Description部分寫一下項(xiàng)目描述。
Postman主頁面
新建項(xiàng)目接口集合圖
4鞭莽、創(chuàng)建項(xiàng)目模塊文件夾
一般項(xiàng)目會分多個(gè)管理模塊或者功能模塊進(jìn)行開發(fā)。這里可根據(jù)項(xiàng)目具體情況創(chuàng)建子文件夾方便接口管理盒齿。此處在A hundred million項(xiàng)目右鍵創(chuàng)建資產(chǎn)管理assets文件夾、user用戶管理文件夾×詹剩可將測試的接口實(shí)例保存在對于管理模塊下箱锐。
新建資產(chǎn)管理文件夾
5、后臺登錄接口演示
開發(fā)完成后臺接口梧兼,編寫正確嚴(yán)謹(jǐn)?shù)倪壿嫶a處理前端請求。此處登錄接口代碼如下悔雹,運(yùn)行后臺開發(fā)項(xiàng)目驯鳖,使該接口能夠訪問呼巴。
接口請求路徑為:http://localhost:8080/manage/app/user/login
@Controller@RequestMapping("/manage/app/")@Scope("prototype")publicclassAppUserController{/**
? ? * 日志
? ? */publicstaticLogger customFile=LoggerFactory.getLogger("manageCustomFile");@ResourceprivateAppUserService appUserService;/**
? ? * 用戶登錄
? ? * @param baseResult
? ? * @return
? ? */@RequestMapping(value="user/login",produces="application/json;charset=UTF-8",method=RequestMethod.POST)@ResponseBodypublicBaseResultloginUser(@RequestBody BaseResult baseResult){customFile.info("appId:"+baseResult.getTreasureID()+"用戶登陸訪問:"+baseResult.toString());returnappUserService.loginUser(baseResult);}}
6续崖、新建接口測試
在Postman主頁面Content部分點(diǎn)擊'+'按鈕复隆,新增一個(gè)接口測試宏赘。在圖2-6所示第一部分填寫接口請求路徑嘶是,左側(cè)下拉列表可選擇請求方式酝蜒,此處選擇POST請求方式途戒。接口請求路徑為http://localhost:8080/manage/app/user/login。
第二部分是請求體崔泵,即包含接口所需請求參數(shù)的Body锅风,此處選擇原始數(shù)據(jù)RAW,數(shù)據(jù)類型使用JSON數(shù)據(jù)作為請求數(shù)據(jù)十酣。點(diǎn)擊藍(lán)色Send按鈕發(fā)送請求文留,后臺項(xiàng)目接口接收請求并響應(yīng)返回執(zhí)行結(jié)果蜕提。此處后臺處理數(shù)據(jù)返回結(jié)果仍是JSON數(shù)據(jù)猖毫,這個(gè)看實(shí)際項(xiàng)目而定吁断,此處僅做演示又兵。
第三部分是接口響應(yīng)體俄烁,即接口響應(yīng)請求處理并返回的數(shù)據(jù)竹观。點(diǎn)擊Pretty自動匹配接口返回的數(shù)據(jù)格式并對數(shù)據(jù)美化顯示瞎领,使數(shù)據(jù)看起來更加直觀。如果接口測試出現(xiàn)異常随夸,則可以通過PreView視圖查看瀏覽器響應(yīng)接口的頁面信息九默,也可以通過Header了解請求狀態(tài)等參數(shù)。一般出現(xiàn)異常還是直接去后臺看控制臺的異常信息及項(xiàng)目日志來處理解決異常逃魄,再進(jìn)行接口測試荤西。
接口測試通過后澜搅,可Ctrl+S保存接口測試實(shí)例伍俘,填寫接口測試名稱和接口描述信息,選擇要保存的路徑勉躺,此處保存在user用戶管理模塊文件夾癌瘾。當(dāng)項(xiàng)目的接口全部測試通過后,可在A hundred million項(xiàng)目右鍵Export導(dǎo)出接口文檔饵溅,保存為JSON接口測試文件妨退,該文件可通過Postman導(dǎo)入查看。
請求方式
對于后臺開發(fā)的接口蜕企,請求方式肯定不止POST一種咬荷,Postman也支持多種請求方式。在新建接口測試實(shí)例時(shí)可選擇接口的請求方式轻掩,看下圖
請求類型可以模擬Form表單文本提交幸乒,F(xiàn)orm表單文件提交,raw原始數(shù)據(jù)提交唇牧,二進(jìn)制文件提交罕扎。對于原始數(shù)據(jù)類型raw還支持不同文件格式,包括JSON丐重,TXT腔召,HTML等多種文件格式。
資金記錄接口實(shí)例演示
后臺開發(fā)接口如下扮惦,服務(wù)器部署運(yùn)行后臺項(xiàng)目臀蛛。接口請求路徑為:
@Controller@RequestMapping("/manage/app/")@Scope("prototype")publicclassAppUserAssetController{/**
? ? * 日志
? ? */publicstaticLogger customFile=LoggerFactory.getLogger("manageCustomFile");@ResourceprivateAppUserAssetService appUserAssetService;/**
? ? * 獲取提現(xiàn)記錄
? ? * 即我的頁面中的資金記錄
? ? * @param baseResult
? ? * @return
? ? */@RequestMapping(value="user/asset/withdrawRecord",produces="application/json;charset=UTF-8",method=RequestMethod.POST)@ResponseBodypublicBaseResultgetUserWithdrawRecord(@RequestBody BaseResult baseResult){customFile.info("appId:"+baseResult.getTreasureID()+"用戶提現(xiàn)記錄獲取"+baseResult.toString());returnappUserAssetService.getUserWithdrawRecord(baseResult);}}
新建資金接口測試
請求方式為POST,
請求URL為http://localhost:8080/manage/app/user/asset/withdrawRecord
請求體為JSON類型的原始數(shù)據(jù)
點(diǎn)擊Send請求接口崖蜜,接口響應(yīng)請求處理返回結(jié)果