RAP一種更高效的前後端介面對接解決方案
RAP一種更高效的前後端介面對接解決方案
2017.11.28 21:58* 字數 1448 閱讀 14348評論 12喜歡 14
我在向小夥伴推薦RAP的時候,有的小夥伴會覺得這個是個玩好意,幫助很大,而另一部分有使用過Mock.js的會說,Mock就挺好了啊。於是就有了這篇文章,一是向大家推廣,二是作為一個快速入門的教程,網上對RAP的教程太少了。
RAP是一個Web介面管理工具,開源免費,介面自動化,MOCK資料自動生成,自動化測試,企業級管理。阿里媽媽MUX團隊出品!阿里巴巴都在用!
使用情景
以往前後端分離開發過程中,會出現這種對話
前端:介面寫好了沒,我著急用,沒這個介面我沒法測功能啊。
後端:別催啊,我資料庫都沒寫好,介面給你也沒用啊。
=>Mock.js出現後
後端:你先要哪個介面?
前端:不用,我自己都虛擬好了資料了
···
後端:這就是你做的介面,怎麼這麼多跟我寫的不一樣,這個引數也不對啊
Mock.js的出現解決了前端離開後端就沒法請求資料的問題,但也出現了新的問題,前端在生產環境中編寫的Mock虛擬資料程式碼,在後期與後端對接時,面對著如何處理這些程式碼的問題,專案切換,又得重新思考Mock程式碼編寫。而且,就算前端按照前期和後端約定好的規則編寫引數,響應資料等,還是無法保證後端會不會在寫程式碼過程中,出現一些手滑的操作,可能他自己都不知道。
而現在,RAP是一個新的解決方案,將前端後端拉倒一個團隊倉庫中,共享一個倉庫,無論是URL地址,還是請求需要的引數,在團隊倉庫中雙方都可以管理,並且可以記錄團隊成員修改了哪些介面,看最後會是誰背鍋··手動滑稽。
前後同一套介面模板,RAP一種更高效的前後端協作方式
RAP五天前釋出了RAP2,相對於之前的版本,在介面和操作上做了很大的優化,介面初步體驗也更穩定了寫, 不得不吐槽上一個版本RAP,各種靈異操作。 ####推薦理由 - 支援mock.js語法:RAP本身基於mcok.js - 支援介面管理:可管理url地址,不同模組分類。 - 支援團隊協作:擁有團隊倉庫 - 支援歷史修改操作檢視:可檢視介面修改情況,但不支援操作回溯。 - 介面共享:不需要重複編寫介面 - 自動化測試:一鍵測試介面情況 - JS外掛 ####文章目錄 - 介面介紹 - RAP語法規則 - RAP使用 - 使用建議
手摸手使用教程
跳過部分:註冊=>登入 這裡又得吐槽一下上一個版本登入,登入後一段時間就得重新登入,驗證碼賊煩,新版本已改善。
介面介紹
-
導航欄介面
- 首頁:登入後展示操作記錄,僅為記錄,無回溯功能
- 倉庫:個人倉庫,團隊倉庫列表及入口處,可以在此處新建個人倉庫
- 團隊:展示已加入團隊,可新建團隊,進入團隊中可檢視團隊倉庫
- 介面:一些介面使用資訊
- 狀態: RAP服務使用狀態資料圖表展示,主要是使用者數量增長,倉庫活躍度排名
-
倉庫介面 個人倉庫和團隊倉庫都一樣
- 藍色 :倉庫名,為倉庫入口,點選可進入編輯詳情
- 黑色:生成該倉庫js 外掛檔案
- 紅色:編輯倉庫資訊
- 個人倉庫有刪除按鈕,團隊倉庫沒有,只有刪除團隊選項。
-
倉庫資訊編輯介面
- 新增倉庫成員,修改倉庫名稱及描述
- 協同倉庫,可以將其他倉庫的介面進行共享到當前編輯的倉庫。注:每個倉庫,每個介面都有它獨特的ID,ID為自動生成,無法手動修改。
-
倉庫設定介面
- 編輯:同上倉庫資訊編輯
- 外掛:介面外掛使用詳細方式,相當於教程了
- 資料:整個倉庫的所有資訊,包括上面說的倉庫ID ,介面ID等,為JSON資料
- 測試:測試當前編寫後接口響應內容,包括所有已編寫介面。
- 新建模組:重新建一個功能塊,相當於一級目錄
- 新建介面:在此處新建介面,點選後會出現彈框,填寫介面名稱,URL
- 啟用介面可編輯狀態:
- 新建:新建請求引數或響應內容
- 匯入:通過JSON匯入引數設定
- 預覽:編輯內容發生改變時,Mock資料也會發生改變
-
新建引數介面
- 名稱:引數名
- 型別:描述引數型別
- 生成規則:填寫Mock語法規則
- 初始值:初始值
- 簡介:
RAP語法規則
RAP是基於 MOCK的,所以語法上是跟MOCK是一樣的,只是填寫位置發生了改變,
Mock.js寫法
變數名 備註
id|1-100
// 表示id從100開始,每次加1
名稱 | 型別 | 生成規則 | 初始值 | 生成結果 | 簡介 |
---|---|---|---|---|---|
id | string | 2-10 | ass | assassass | 字串重複2-10次不等 |
name | string | @order[3,13,1,3] | 2 | 在陣列中隨即選取一個 | |
datetime | string | @datetime("yyMddd") | 204040722 | 生成時間具體格式請檢視Mock文件 | |
re | RegExp | /201[7-7][0-1][0-9][0-2][0-9]/ | 20170706 | 通過正則資料 |
以下圖片列出了本人記錄的常用書寫方式,以及生成的資料格式
RAP使用
- 介面形式:
http://rap2api.taobao.org/app/mock/508/GET/login
其中508
為倉庫ID,不同倉庫可以通過新增協同倉庫達到介面複用的作用,可新增多個ID,不同ID逗號隔開。 - 使用方式可檢視介面欄
使用建議及技巧
- 最好在團隊中新建倉庫,拉上後端的小夥伴一起RAP才是利器。
- 協同倉庫是一個很有用的功能,要善於運用,相當於倉庫複製。
- 介面詳情最好寫一些需要注意的內容,給別人看的。
總結
RAP給前後端開發者一種更好更透明的協同開發方式,前端也可以讓自己專案程式碼中不出現虛擬資料
這種無用程式碼,專案切換以及迭代過程中RAP讓介面更加靈活,不要僅僅滿足於前端可以寫幾個虛擬資料,如何無痛對接後端接口才是最終的目的。