前後端分離之【介面文件管理及資料模擬工具docdoc與dochelper】
前後端分離的常見開發方式是:
- 後端:接收http請求->根據請求url及params處理對應業務邏輯->將處理結果序列化為json返回
- 前端:發起http請求並傳遞相關引數->獲取返回結果處理相關邏輯
分離的主要目的是讓前後端可以並行的進行工作,彼此之間只需要依賴一份介面文件
介面文件可能會使用一些文字工具進行記錄,例如word,excel等
其中記錄的內容可能為請求路徑,請求型別,請求引數,響應引數,請求示例,響應示例,變更記錄等
不過以上方式還存在那麼一點不完美,那就是前端需要等待後端開發完接口才能有資料進行測試在此之前只能先畫頁面
這就有可能造成前端要等後端的情況,使工作變為序列
因此我想能否有辦法可以消除這種情況,讓前端不必等待後端
經過一段時間的摸索,我想可以做一個mock server來模擬前端需要的資料
當前端請求某個url時,mock server會在其資料庫中進行查詢,匹配到這個url後就返回預設或者使用者自定義的模擬資料
這樣一來前端就可以在不依賴後端的情況下拿到資料進行測試了
但如果只是僅僅依賴mock server,那麼一些已開發的介面將無法得到正常的請求
那麼問題就又變成了如何使正常介面與mock介面共存
很容易想到的就是使用nginx反向代理,將未開發完的介面匹配到mock server,剩餘的介面匹配正常程式
所以前端開發時自己啟動一個nginx,然後需要mock什麼介面自己去配置即可
但是。。。。當介面很多時,前端得自己手動去配置nginx,還要在對nginx進行重啟等等操作,很繁瑣
為了解決這個問題我又想能不能讓這一切自動化的去完成
有一個客戶端程式,自動的對nginx進行相關配置並啟動nginx,將開發中的介面轉發給mock server,將其餘介面轉發給正常程式
顯然這個思路是可行的,為了讓程式好用,客戶端製作成了GUI,並且打包成了exe,使以上nginx配置步驟變為一鍵操作
以下是根據以上思路製作完畢的docdoc及dochelper截圖,及一個簡單的演示視訊:
視訊地址: https://www.bilibili.com/video/av46052020
github docdoc: https://github.com/github20120522/docdoc
github dochelper: https://github.com/github20120522/docdochelper