mock:模擬的,虛假的html
mock server:模擬服務,模擬請求,模擬虛假數據前端
爲了先後端更好的分工,接口文檔是必須的,先後端都根據接口文檔寫代碼,而後對接接口就好了。git
可是,後端跟不上前端節奏,接口跟不上來怎麼辦?即使接口跟上來了,大後端數據跟不上又怎麼辦?github
第一種想到的方法就是模擬返回數據,根據接口文檔定義好的返回數據格式,新建一個json文件夾,裏面放一堆*.json文件,像這樣:web
而後請求json數據,像這樣:redis
因此爲了前端有數據,就會有不少不少的請求json文件。當後端接口上來後,又要一個一個挨着去把json請求改成真實接口名,這就要求代碼須要寫的比較規範,否則接口的對接真的很難受,並且在修改某些複雜邏輯的地方的時候還必須的當心翼翼,否則就只有等測試發來bug單了。數據庫
造json文件模擬請求對於小的項目確實仍是挺方便的,可是項目大了呢,上百個接口甚至更多呢?json
一堆一堆的json看着都煩,還不說先後端對接了。windows
那麼要怎麼才能解決先後分離,節約時間,提升開發效率,減小前端對後端的依賴呢?後端
那就是爲前端提供一個能夠在本地用的web容器,這個就是 mock server。
mock server 能解決哪些問題呢?
一、接口文檔的編寫
二、根據接口攔截請求,返回接口須要返回的結果數據
三、方便線上線下的切換
我這裏要用作mockserver的就是rap了,rap結合了團隊管理,項目管理,文檔編寫、Mock.js、可視化、接口過渡、文檔歷史版本(贊)、mock插件(線上線下切換就只須要註釋一句代碼就OK),支持本地部署。
那麼怎麼將rap部署到本地呢?官網有部署手冊。
我這裏是部署到windows環境下的。
部署方式有兩種:
一、使用編譯好的war包部署(適合僅想部署RAP服務,不需開發定製功能的同窗)
二、使用源碼自行編譯、開發後部署(需配置J2EE開發環境, 適合想要研究RAP源代碼,開發定製功能的同窗)
我不須要自行開發就採用war包部署。
須要環境:jdk,tomcat,MySQL,Redis
第一步:在官網https://github.com/thx/RAP/releases將最新的war包下下來,而後更名爲ROOT.war,放到tomcat下面的webapps裏面
第二步:啓動tomcat,該war包自動部署到文件夾ROOT
第三步:修改數據庫配置文件,打開ROOT中得WEB-INF/classes/config.properties
修改jdbc.username=您的數據庫用戶名
修改jdbc.password=您的數據庫密碼
redis的端口號默認
第四步:安裝redis
http://www.redis.net.cn/tutorial/3503.html下載redis-2.45
根據本身實際狀況選擇,將64bit的內容cp到自定義盤符安裝目錄取名redis。 如 G:\dev
打開一個cmd窗口 使用cd命令切換目錄到 C:\redis 運行 redis-server.exe redis.conf 。
若是想方便的話,能夠把redis的路徑加到系統的環境變量裏,這樣就免得再輸路徑了,後面的那個redis.conf能夠省略,若是省略,會啓用默認的。輸入以後,會顯示以下界面:
這時候另啓一個cmd窗口,原來的不要關閉,否則就沒法訪問服務端了。
切換到redis目錄下運行 redis-cli.exe -h 127.0.0.1 -p 6379 。
設置鍵值對 set myKey abc
取出鍵值對 get myKey
這就說明redis安裝成功了。
第五步:開啓tomcat和redis,瀏覽器輸入:localhost:8080
說明部署成功了。rap的默認用戶是admin,密碼經過雙重md5加密了的,可是不是正常的加密 ……
因此要想登陸admin,還得先註冊一個用戶,好比密碼設置爲123456,打開MySQL
將新註冊的dothin的密碼複製到admin裏面去,而後admin就能登陸了
具體怎麼使用rap,自行看rap教程