mock:模擬的,虛假的
mock server:模擬服務,模擬請求,模擬虛假數據
為了前后端更好的分工,接口文檔是必須的,前后端都根據接口文檔寫代碼,然后對接接口就行了。
但是,后端跟不上前端節奏,接口跟不上來怎么辦?即便接口跟上來了,大后端數據跟不上又怎么辦?
第一種想到的方法就是模擬返回數據,根據接口文檔定義好的返回數據格式,新建一個json文件夾,里面放一堆*.json文件,像這樣:
然后請求json數據,像這樣:
所以為了前端有數據,就會有很多很多的請求json文件。當后端接口上來后,又要一個一個挨着去把json請求改為真實接口名,這就要求代碼需要寫的比較規范,不然接口的對接真的很難受,而且在修改某些復雜邏輯的地方的時候還必須的小心翼翼,不然就只有等測試發來bug單了。
造json文件模擬請求對於小的項目確實還是挺方便的,但是項目大了呢,上百個接口甚至更多呢?
一堆一堆的json看着都煩,還不說前后端對接了。
那么要怎么才能解決前后分離,節約時間,提高開發效率,減少前端對后端的依賴呢?
那就是為前端提供一個可以在本地用的web容器,這個就是 mock server。
mock server 能解決哪些問題呢?
1、接口文檔的編寫
2、根據接口攔截請求,返回接口需要返回的結果數據
3、方便線上線下的切換
我這里要用做mockserver的就是rap了,rap結合了團隊管理,項目管理,文檔編寫、Mock.js、可視化、接口過渡、文檔歷史版本(贊)、mock插件(線上線下切換就只需要注釋一句代碼就OK),支持本地部署。
那么怎么將rap部署到本地呢?官網有部署手冊。
我這里是部署到windows環境下的。
部署方式有兩種:
1、使用編譯好的war包部署(適合僅想部署RAP服務,不需開發定制功能的同學)
2、使用源碼自行編譯、開發后部署(需配置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教程