偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

不用再等后端的接口啦!這個(gè)開源項(xiàng)目花 2 分鐘就能模擬出后端接口

開發(fā) 前端
今天給大家?guī)硪豢铋_源免費(fèi)的模擬后端 API 的工具,沒學(xué)過后端開發(fā)的也能快速上手這個(gè)開源項(xiàng)目。

 [[376640]]

今天給大家?guī)硪豢铋_源免費(fèi)的模擬后端 API 的工具:moco

沒學(xué)過后端開發(fā)的也能快速上手這個(gè)開源項(xiàng)目,靚仔靚妹們不必再辛苦等待后端開發(fā) API,從而有更多的時(shí)間逛 HelloGitHub 體驗(yàn)更多有趣的開源項(xiàng)目。接下來本文將用帶你快速上手 moco 這個(gè)開源工具,讓你不再卡在后端接口的開發(fā)進(jìn)度上,一騎絕塵!

項(xiàng)目地址:https://github.com/dreamhead/moco

一、moco 有什么用

我做前端或者客戶端開發(fā),對(duì)我有什么用?

  1. 在后端 API 開發(fā)緩慢的時(shí)候,如果你想測(cè)試應(yīng)用展示效果,就不必再等后端進(jìn)度,使用 moco 輕松模擬后端 API。

  2. 在項(xiàng)目初期的時(shí)候,產(chǎn)品經(jīng)理或者是客戶想看到你的應(yīng)用展示,模擬好 API 就可以開發(fā)前端,展示效果啦。

我做后端開發(fā),對(duì)我有什么用?

  1. 企業(yè)級(jí)軟件一般都是多人開發(fā),因?yàn)榻涌谥g是互相依賴的,所以如果你依賴的服務(wù)進(jìn)度緩慢或者是沒有在環(huán)境中運(yùn)行,你就無法對(duì)你開發(fā)的功能進(jìn)行測(cè)試,進(jìn)而不能及時(shí)交付項(xiàng)目,從而加班熬夜。

  2. 即使你所依賴的服務(wù)在環(huán)境中運(yùn)行,但是所依賴的服務(wù)依舊會(huì)不斷測(cè)試和調(diào)優(yōu),這個(gè)過程也可能會(huì)導(dǎo)致你開發(fā)功能測(cè)試出現(xiàn)問題。一個(gè)穩(wěn)定的測(cè)試接口,減少你的等待時(shí)間。

二、快速開始

2.1 準(zhǔn)備工作

  1. JDK 1.8+ (推薦1.8版本) 

2.2 下載 jar 包

點(diǎn)擊此處下載 jar 包

2.3 API 配置文件

新建 hello.json 文件,寫入以下內(nèi)容

  1. [{ 
  2.  "description""moco 快速開始示例"
  3.  "request": { 
  4.   "uri""/hello" 
  5.  }, 
  6.  "response": { 
  7.   "text""Hello GitHub" 
  8.  } 
  9. }] 

目錄結(jié)構(gòu)如下

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

2.4 運(yùn)行項(xiàng)目

在該目錄下運(yùn)行

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

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

  • -p 9999:設(shè)置服務(wù)端口 9999

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

2.5 效果展示

在瀏覽器中訪問一下地址

  1. localhost:9999/hello 

效果如圖所示

三、詳細(xì)用法

剛剛的你應(yīng)該十分輕松地模擬一個(gè)簡(jiǎn)單的后端 API,是不是很有成就感?但是你使用或者開發(fā)過后端 API 你就也許知道:一個(gè)合格的后端 API 不應(yīng)該僅僅局限如此。一個(gè)合格的后端 API 應(yīng)該能包括:請(qǐng)求方法、請(qǐng)求 URL、請(qǐng)求參數(shù)、請(qǐng)求頭、請(qǐng)求體、返回狀態(tài)碼、返回提示信息、返回頭和返回體等內(nèi)容。

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

3.1 基本結(jié)構(gòu)

  1.   { 
  2.     "description""moco 基本結(jié)構(gòu)"
  3.     "request": { 
  4.       "uri""/hello"
  5.       "method""post" 
  6.     }, 
  7.     "response": { 
  8.       "text""Hello GitHub" 
  9.     } 
  10.  } 
  • json 文件的最層是一個(gè) [] 數(shù)組,里面可以封裝多個(gè) API(示例只有一個(gè) API)
  • 因?yàn)?json 配置文件不支持注釋,所以這個(gè) API 的注釋你可以寫到 description 里面
  • request 可以包含請(qǐng)求的所有內(nèi)容
  • response 可以包含返回的所有內(nèi)容

3.2 模擬一個(gè)基本的 RESTful API

  1. [{ 
  2.  "description""模擬一個(gè)基本的 RESTful API"
  3.  "request": { 
  4.   "uri""/hello2"
  5.   "method""post"
  6.   "headers": { 
  7.    "Content-Type""application/json"
  8.    "Accept""application/json"
  9.    "token""header.playload.signature"
  10.    "Accept-Charset""utf8" 
  11.   }, 
  12.   "cookies": { 
  13.    "login""true" 
  14.   }, 
  15.   "json": { 
  16.    "name""zhangsan"
  17.    "age"13 
  18.   } 
  19.  }, 
  20.  "response": { 
  21.   "json": { 
  22.    "message""測(cè)試成功" 
  23.   }, 
  24.   "latency": { 
  25.    "duration"2
  26.    "unit""second" 
  27.   }, 
  28.   "headers": { 
  29.    "Content-Type""application/json"
  30.    "token""new-header.new-playload.new-signature" 
  31.   }, 
  32.   "cookies": { 
  33.    "login": { 
  34.     "value""true"
  35.     "domain""localhost"
  36.     "secure""true"
  37.     "httpOnly""true"
  38.     "path""/" 
  39.    } 
  40.   } 
  41.  } 
  42. }] 
  • method :請(qǐng)求方法
  • headers :請(qǐng)求頭
  • cookies :請(qǐng)求 Cookies
  • json :請(qǐng)求體的一種類型(還有 froms 表單等類型)
  1. response 
  2. headers 
  3. json 
  4. cookies 
  • latency 模擬服務(wù)器卡頓(因?yàn)槟M的后端 API 返回?cái)?shù)據(jù)幾乎是瞬間的,這里我們讓其卡頓 2 秒)

測(cè)試

這里我們使用 GitHub 上面開源免費(fèi)的 API 測(cè)試軟件 Postman 進(jìn)行測(cè)試

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

(2)請(qǐng)求體(json)

(3)測(cè)試效果

點(diǎn)擊 Send 發(fā)送,并在下方 response 查看測(cè)試效果

查看返回的請(qǐng)求頭

查看返回的 Cookies

查看全局 Cookies

3.3 附件下載

有時(shí)候我們需要模擬文件下載,moco 如何實(shí)現(xiàn)呢?

  1. [{ 
  2.  "description""moco  附件下載"
  3.  "request": { 
  4.   "uri""/hello" 
  5.  }, 
  6.  "response": { 
  7.   "attachment":{ 
  8.    "filename""demo.txt"
  9.    "file""demo.txt" 
  10.   } 
  11.  } 
  12. }] 

文件目錄

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

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

3.4 輪詢數(shù)據(jù)

如果我們刷新頁面想獲得不同的內(nèi)容 moco 如何實(shí)現(xiàn)呢?

  1. [{ 
  2.  "description""moco 輪詢數(shù)據(jù)"
  3.  "request": { 
  4.   "uri""/hello" 
  5.  }, 
  6.  "response": { 
  7.   "cycle": [{ 
  8.     "text""hello 1" 
  9.    }, 
  10.    { 
  11.     "text""hello 2" 
  12.    }, 
  13.    { 
  14.     "text""hello 3" 
  15.    } 
  16.   ] 
  17.  } 
  18.  
  19. }] 

訪問 localhost:9999/hello 會(huì)依次得到如下內(nèi)容

  1. hello 1 
  2. hello 2 
  3. hello 3 
  4. hello 1 
  5. hello 2 
  6. ... 

3.5 重定向

有時(shí)候我們想重定向頁面 moco 如何實(shí)現(xiàn)呢?

  1. [{ 
  2.  "description""moco 重定向"
  3.  "request": { 
  4.   "uri""/hello" 
  5.  }, 
  6.  "redirectTo""https://hellogithub.com" 
  7. }] 

訪問 localhost:9999/hello 會(huì)自動(dòng)重定向到 https://hellogithub.com

3.6 正則表達(dá)式

moco 還支持一些運(yùn)算符,比如正則表達(dá)式。

  1. [{ 
  2.  "description""moco 正則表達(dá)式"
  3.  "request": { 
  4.   "uri": { 
  5.    "match""/hello/\\w*" 
  6.   } 
  7.  }, 
  8.  "response": { 
  9.   "text""Hello GitHub" 
  10.  } 
  11. }] 

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

  1. localhost:9999/hello/jarvan 
  2. localhost:9999/hello/bmft 

3.7 使用模板

有的時(shí)候我們的返回參數(shù)依賴于請(qǐng)求參數(shù)(比如編碼類型),這個(gè)時(shí)候我們就可以用 template 模板來實(shí)現(xiàn),我們可以在模板中通過 req 來表示發(fā)送的請(qǐng)求 。

  1.     "description""moco 使用模板"
  2.     "request": { 
  3.         "uri""/hello"
  4.        "method""post" 
  5.     }, 
  6.     "response": { 
  7.         "text": { 
  8.             "template""${req.method}" 
  9.         } 
  10.     } 

返回的值是

  1.   "text""post" 

四、最后

看到這里,想必你已經(jīng)了解開源項(xiàng)目 moco 的基本使用了,是不是覺得很有意思?這里給出一個(gè)小建議,如果想真正使用這個(gè)開源項(xiàng)目 moco,建議參考官方文檔去「實(shí)踐」,這是最快捷,最有效的使用開源項(xiàng)目的辦法?!笇?shí)踐」就是鞏固的最佳方法,希望你能在實(shí)踐中體驗(yàn)設(shè)計(jì)程序的快樂!

 

責(zé)任編輯:張燕妮 來源: HelloGitHub
相關(guān)推薦

2024-05-17 08:38:22

2018-09-27 15:56:15

2021-03-03 13:25:35

CookieSessionToken

2020-04-08 16:30:45

SpringBooJava后端接口

2019-07-09 05:44:35

前后端分離架構(gòu)接口規(guī)范

2021-09-18 09:45:33

前端接口架構(gòu)

2024-11-11 00:00:08

后端開發(fā)團(tuán)隊(duì)

2024-10-17 09:21:30

2021-04-21 10:27:17

JavaScript代碼項(xiàng)目

2024-12-06 12:17:31

2022-09-01 07:18:21

分離項(xiàng)目Vue

2024-09-18 00:03:00

項(xiàng)目OpenAI前端

2022-10-28 16:08:22

Java開發(fā)語言

2020-11-17 09:34:31

API接口后端

2025-04-18 10:26:29

后端接口通用封裝

2020-12-16 13:40:05

MySQLESJava

2014-01-14 17:49:37

風(fēng)河物聯(lián)網(wǎng)模擬

2025-07-02 07:10:00

后端前端JavaScript

2023-11-13 22:33:47

低代碼無代碼

2023-02-15 09:00:49

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)