當前位置:
首頁 > 最新 > Mock API是如何在開發中發光發熱的?

Mock API是如何在開發中發光發熱的?

在長期的服務過程中,我們經常會遇到前來諮詢的用戶與我們反饋以下這種情況:諮詢者是一個前端人員,在項目開發的過程中需要與後端進行對接,遇到後端還沒完成數據輸出的情況下,他只好寫靜態模擬數據,在遇到大型項目的情況下,數據冗長、代碼複雜、多樣的數據類型包括IP、圖片,地址,函數等,在極短的項目周期及驗收時間下,手動修改模擬數據顯得一點都不現實。

對於這樣的問題,其實eoLinker提供了目前最佳的解決方案:Mock API

使用Mock API,前後端人員只需要定義好介面文檔就可以開始並行工作;後端之間的介面耦合和測試中未準備好的依賴介面也能被Mock解決,不會出現團隊互等的情況。這樣的話,越早開展開發自測,提前了發現、修復缺陷的時間,也有效地保證整個產品質量以及進度。

eoLinker提供了兩種模擬API的方式,基礎Mock以及高級Mock,那應該怎麼使用eoLinker的Mock呢?基礎Mock和高級Mock的區別是什麼呢?

在eoLinker中,基礎Mock也稱簡易Mock,提供了以下功能:

1、支持HTTP、HTTPS

2、支持RESTful風格API

3、支持對請求方式進行校驗(免費版為默認開啟,專業版可針對項目設置關閉)

4、支持模擬HTTP狀態碼

5、支持真實的前置URL全局替換掉Mock請求的前置URL

6、支持對請求參數進行校驗(專業版)

而高級Mock除了擁有基礎Mock的功能之外,還具備以下功能:

7、支持根據mockjs規則生成mock數據,支持自定義js函數

8、支持根據在高級MOCK中設定的生成規則&屬性值重新構造MOCK

(專業版)

......

其中的3、6、8功能點,需前往專業版AMS中使用。下面我們選擇三個重要功能點進行簡單敘述。


Mock.js由於能攔截並模擬 ajax 請求,因此用Mock.js模擬後端數據變得異常簡單:

結合上述場景來看,eoLinker通過支持MockJS將能解決以下所有問題。

1、文檔沒有事先定義,開發過程,後端人員可能存在口頭講述,但是和實際返回數據不一樣的情況,而eoLinker 高級mock本身就規範了這種行為,高效協作不是問題。

3、想要儘可能還原真實的數據,不用編寫更多代碼,也不用手動修改模擬數據。

直接模擬後台數據返回,事半功倍。

4、不擔心例如IP,隨機數,圖片,地址等特殊的格式多重收集,豐富的格式支持省下大量時間。

5、eoLinker的MOCK還支持自定義函數和正則等複雜的數據類型,方便拓展各類更多數據類型。

正因如此,eoLinker MockAPI支持MockJS,解決了前後端開發中的數據模擬問題,大幅提升了開發的工作效率。


這是高級版中的功能,eoLinker考慮到,開發過程中,有很多後端介面都會對參數進行校驗的,確認哪些介面參數是必傳,哪些介面參數是非必傳。而前端開發調用的是Mock介面,從協助的角度上看,Mock API是模擬後端介面返回參數協作前端開發,那麼對參數校驗的功能也就十分必要,這樣子才能模擬最真實的後端介面,更好地協助前端開發。eoLinker支持對請求參數進行校驗,確定好這些介面參數是否必傳,這樣子就不會漏傳某個參數了,行之有效的避免了冗餘的工作量。


這同樣是高級版中的功能,eoLinker認識到,隨機生成返回結果的功能是必要的功能,因為介面每次返回的參數的值是不同的,所以隨機生成可以使模擬的返回結果更真實。

接下來就是高級Mock實際教程部分。

1、編輯Mock數據

進入 介面編輯頁面,點擊上方 高級Mock 選項卡,進入到Mock設置頁面:

注意:

Mock的填寫依賴於介面文檔中的返回參數,如果進入Mock設置頁面發現沒有可以設置的欄位,請返回 基礎信息 選項卡完善介面的返回信息;

MockAPI支持 Mockjs 語法,了解相關語法教程請前往:http://Mockjs.com/;

使用步驟:

1.返回參數填寫相關鍵值對,若擁有層級結果,請用 兩個英文右箭頭 >>或者::表示層級:

2. 根據Mockjs示例進行拆分填寫。以下圖 紅框 部分進行講解:

name對應列表欄位名;

min-max對應列表生成規則;

string對應列表屬性值,使用需搭配@Mock=使用,如 @Mock=』★』

將上圖的Mock語法寫入:

注意:紅色框部分為設置整體返回結果類型,支持兩種(object/array),生成規則及屬性值同樣對應Mockjs語法

2、調用MockAPI

進入介面詳情頁,點擊上方的Mock標籤,在下方的Mock部分可以看到有Mock API的請求地址,複製該地址即可訪問Mock API得到虛擬數據:


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 eolinker 的精彩文章:

TAG:eolinker |