中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何快速模擬出后端接口

發布時間:2021-10-20 10:18:32 來源:億速云 閱讀:286 作者:iii 欄目:web開發

這篇文章主要講解了“如何快速模擬出后端接口”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何快速模擬出后端接口”吧!

一、moco 有什么用

我做前端或者客戶端開發,對我有什么用?

  1. 在后端 API 開發緩慢的時候,如果你想測試應用展示效果,就不必再等后端進度,使用 moco 輕松模擬后端 API。

  2. 在項目初期的時候,產品經理或者是客戶想看到你的應用展示,模擬好 API 就可以開發前端,展示效果啦。

我做后端開發,對我有什么用?

  1. 企業級軟件一般都是多人開發,因為接口之間是互相依賴的,所以如果你依賴的服務進度緩慢或者是沒有在環境中運行,你就無法對你開發的功能進行測試,進而不能及時交付項目,從而加班熬夜。

  2. 即使你所依賴的服務在環境中運行,但是所依賴的服務依舊會不斷測試和調優,這個過程也可能會導致你開發功能測試出現問題。一個穩定的測試接口,減少你的等待時間。

二、快速開始

2.1 準備工作

JDK 1.8+ (推薦1.8版本)

2.2 下載 jar 包

點擊此處下載 jar 包

2.3 API 配置文件

新建 hello.json 文件,寫入以下內容

[{  "description": "moco 快速開始示例",  "request": {   "uri": "/hello"  },  "response": {   "text": "Hello GitHub"  } }]

目錄結構如下

├── hello.json                             // API 接口配置文件 ├── moco-runner-1.1.0-standalone.jar       // 下載的模擬 API 的工具

2.4 運行項目

在該目錄下運行

java -jar moco-runner-1.1.0-standalone.jar http -p 9999 -c hello.json
  • moco-runner-1.1.0-standalone.jar:運行程序的路徑(剛剛下載的包的路徑)

  • http:選擇服務類型(有 http、https、socket)

  • -p 9999:設置服務端口 9999

  • -c hello.json:設置配置文件路徑(剛剛新建的配置文件)

2.5 效果展示

在瀏覽器中訪問一下地址

localhost:9999/hello

效果如圖所示

如何快速模擬出后端接口

三、詳細用法

剛剛的你應該十分輕松地模擬一個簡單的后端 API,是不是很有成就感?但是你使用或者開發過后端 API 你就也許知道:一個合格的后端 API 不應該僅僅局限如此。一個合格的后端 API 應該能包括:請求方法、請求 URL、請求參數、請求頭、請求體、返回狀態碼、返回提示信息、返回頭和返回體等內容。

如何使用 moco 這個開源項目模擬出一個合格的后端接口呢?接下來就帶你一步步了解詳細用法。

3.1 基本結構

[   {     "description": "moco 基本結構",     "request": {       "uri": "/hello",       "method": "post"     },     "response": {       "text": "Hello GitHub"     }  } ]
  • json 文件的最層是一個 [] 數組,里面可以封裝多個 API(示例只有一個 API)

  • 因為 json 配置文件不支持注釋,所以這個 API 的注釋你可以寫到 description 里面

  • request 可以包含請求的所有內容

  • response 可以包含返回的所有內容

3.2 模擬一個基本的 RESTful API

[{  "description": "模擬一個基本的 RESTful API",  "request": {   "uri": "/hello2",   "method": "post",   "headers": {    "Content-Type": "application/json",    "Accept": "application/json",    "token": "header.playload.signature",    "Accept-Charset": "utf8"   },   "cookies": {    "login": "true"   },   "json": {    "name": "zhangsan",    "age": 13   }  },  "response": {   "json": {    "message": "測試成功"   },   "latency": {    "duration": 2,    "unit": "second"   },   "headers": {    "Content-Type": "application/json",    "token": "new-header.new-playload.new-signature"   },   "cookies": {    "login": {     "value": "true",     "domain": "localhost",     "secure": "true",     "httpOnly": "true",     "path": "/"    }   }  } }]
  • method :請求方法

  • headers :請求頭

  • cookies :請求 Cookies

  • json :請求體的一種類型(還有 froms 表單等類型)

response headers json cookies
  • latency 模擬服務器卡頓(因為模擬的后端 API 返回數據幾乎是瞬間的,這里我們讓其卡頓 2 秒)

測試

這里我們使用 GitHub 上面開源免費的 API 測試軟件 Postman 進行測試

(1)url、請求方法、請求頭和 Cookies

如何快速模擬出后端接口

(2)請求體(json)

如何快速模擬出后端接口

(3)測試效果

點擊 Send 發送,并在下方 response 查看測試效果

如何快速模擬出后端接口

查看返回的請求頭

如何快速模擬出后端接口

查看返回的 Cookies

如何快速模擬出后端接口

查看全局 Cookies

如何快速模擬出后端接口

3.3 附件下載

有時候我們需要模擬文件下載,moco 如何實現呢?

[{  "description": "moco  附件下載",  "request": {   "uri": "/hello"  },  "response": {   "attachment":{    "filename": "demo.txt",    "file": "demo.txt"   }  } }]

文件目錄

├── hello.json                             // API 接口配置文件 ├── moco-runner-1.1.0-standalone.jar       // 模擬 API 的工具 ├── demo.txt                               // 要下載的文件,這里可以使用相對路徑

localhost:9999/hello 即可下載 demo.txt 文件

3.4 輪詢數據

如果我們刷新頁面想獲得不同的內容 moco 如何實現呢?

[{  "description": "moco 輪詢數據",  "request": {   "uri": "/hello"  },  "response": {   "cycle": [{     "text": "hello 1"    },    {     "text": "hello 2"    },    {     "text": "hello 3"    }   ]  }  }]

訪問 localhost:9999/hello 會依次得到如下內容

hello 1 hello 2 hello 3 hello 1 hello 2 ...

3.5 重定向

有時候我們想重定向頁面 moco 如何實現呢?

[{  "description": "moco 重定向",  "request": {   "uri": "/hello"  },  "redirectTo": "https://hellogithub.com" }]

訪問 localhost:9999/hello 會自動重定向到 https://hellogithub.com

3.6 正則表達式

moco 還支持一些運算符,比如正則表達式。

[{  "description": "moco 正則表達式",  "request": {   "uri": {    "match": "/hello/\\w*"   }  },  "response": {   "text": "Hello GitHub"  } }]

可以通過正則表達式匹配的鏈接訪問,比如

localhost:9999/hello/jarvan localhost:9999/hello/bmft

3.7 使用模板

有的時候我們的返回參數依賴于請求參數(比如編碼類型),這個時候我們就可以用 template 模板來實現,我們可以在模板中通過 req 來表示發送的請求 。

{     "description": "moco 使用模板",     "request": {         "uri": "/hello",        "method": "post"     },     "response": {         "text": {             "template": "${req.method}"         }     } }

返回的值是

{   "text": "post" }

感謝各位的閱讀,以上就是“如何快速模擬出后端接口”的內容了,經過本文的學習后,相信大家對如何快速模擬出后端接口這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永胜县| 汝州市| 中宁县| 曲周县| 邯郸市| 玛沁县| 三亚市| 马龙县| 龙井市| 北安市| 璧山县| 万安县| 贡嘎县| 肃北| 元氏县| 宜州市| 景谷| 松桃| 教育| 家居| 绥棱县| 甘南县| 高密市| 湟源县| 盐源县| 株洲县| 邹城市| 嘉兴市| 五家渠市| 绥江县| 于都县| 临沭县| 鄂伦春自治旗| 邓州市| 敖汉旗| 富源县| 海丰县| 大化| 瑞昌市| 西林县| 涞水县|