easyserver
一個(gè)輕巧但是功能強(qiáng)大的模擬服務(wù)器桌面程序。
https://github.com/xingliuhua/easyserver
背景
作為前端開發(fā)或者APP開發(fā)者燕鸽,經(jīng)常會(huì)遇到服務(wù)端未開發(fā)部署完畢胯究,但是我們想要提前看下網(wǎng)絡(luò)請(qǐng)求的效果冯丙。想要模擬服務(wù)端返回的數(shù)據(jù)目前我們可以用抓包工具
來實(shí)現(xiàn)拇砰,比如:fiddler畅卓、charles等等埃难,大致流程都是攔截請(qǐng)求和服務(wù)端返回的響應(yīng)莹弊。
市面上的抓包工具有很多優(yōu)點(diǎn):
* 我們電腦上基本都有安裝涤久。
* 使用方便涡尘,bug較少忍弛。
但是我們也發(fā)現(xiàn)有些缺點(diǎn):
* 開啟占用內(nèi)存多。
* 有些工具每次請(qǐng)求都要改返回響應(yīng)信息考抄,比較麻煩细疚。
* 有些工具雖然能設(shè)置請(qǐng)求自動(dòng)返回的數(shù)據(jù),但是數(shù)據(jù)是自己保存文件川梅,時(shí)間長(zhǎng)了自己都忘了放哪里了疯兼,容易丟。
* 工具都是針對(duì)請(qǐng)求路徑贫途,如果要模擬不同參數(shù)返回的數(shù)據(jù)吧彪,就要不停的改。
* 同組人員雖然也能連同一個(gè)抓包工具丢早,但是想到別人電腦上改動(dòng)比較麻煩姨裸。
功能
* 能對(duì)請(qǐng)求設(shè)置返回信息,自動(dòng)返回信息怨酝。
* 返回信息自動(dòng)保存到磁盤傀缩,下次啟動(dòng)自動(dòng)加載。
* 請(qǐng)求方式 + 接口地址 + 所有參數(shù) 這些都完全相同才認(rèn)為是同一請(qǐng)求农猬。
* 同時(shí)支持GUI操作和文件配置赡艰,使用簡(jiǎn)單。
* 支持多人在線配置并使用斤葱。
* 小巧輕便慷垮,占用內(nèi)存少。
* 支持mac揍堕、window换帜,linux。
安裝
1. 下載對(duì)應(yīng)平臺(tái)的zip包鹤啡。
下載地址見github庫介紹
2. 解壓縮即可惯驼,不需要按照任何依賴。
使用
以mac為例递瑰,
1. 命令行啟動(dòng)
解壓后運(yùn)行
./easyserver
2. 設(shè)置端口并啟動(dòng)
我們看到會(huì)出現(xiàn)一個(gè)對(duì)話框出來了祟牲,我們可以改動(dòng)要監(jiān)聽的端口。
比如我們想要模擬:http://test:8888/login接口抖部,我們就輸入8888即可说贝。
點(diǎn)擊Run按鈕(點(diǎn)擊后鼠標(biāo)離開即可看到按鈕狀態(tài)變化)
3. 瀏覽器打開localhost:8888/easyserver/index
前端或app請(qǐng)求http://test:8888/login接口,刷新網(wǎng)頁慎颗,我們就可以看到請(qǐng)求記錄了,
點(diǎn)擊右邊的修改圖標(biāo)進(jìn)入到添加頁面乡恕,修改返回信息提交言询,這樣我們就設(shè)置了一個(gè)請(qǐng)求的返回信息。后面再次請(qǐng)求登錄接口就返回了想要的信息傲宜。
4. 點(diǎn)擊index頁面的config鏈接运杭,我們可以看到以前配置的請(qǐng)求列表,支持修改函卒,刪除辆憔。
5. 不想使用可直接點(diǎn)擊關(guān)閉,想暫時(shí)關(guān)閉請(qǐng)點(diǎn)擊"Stop"按鈕报嵌。
優(yōu)化
在使用的過程中發(fā)現(xiàn)還有很多需要優(yōu)化的地方虱咧,后期會(huì)一一優(yōu)化。
* APP請(qǐng)求后锚国,首頁不會(huì)自動(dòng)刷新請(qǐng)求記錄腕巡。
* 頁面丑陋。
* 同一個(gè)請(qǐng)求只是參數(shù)改變就需要配置血筑,過于麻煩绘沉,既是優(yōu)點(diǎn)又是缺點(diǎn)。