Mock接口平臺功能介紹:
java -jar -Dfile.encoding=UTF-8 moco-runner-0.11.0-standalone.jar http -p 8888 -c startup1.json
moco框架基本介紹:
1.下載mocojar包
2.如何啟動moco (java -jar moco-runner-0.11.0-standalone.jar http -p 8888 -c jsondemo)
3.第一個demo 訪問:localhost:8888/demo
4.jsondemo文件內(nèi)容
[
{
"description":"這是我們的第一個mock例子",
"request":{
"uri":"/demo"
},
"response":{
"text":"第一個mock框架demo"
}
}
]
1.不帶參數(shù)的get方法實現(xiàn)
[
{
"description":"這是我們的第一個mock例子",
"request":{
"uri":"/demo",
"method":"get"
},
"response":{
"text":"第一個mock框架demo"
}
}
]
2.帶參數(shù)的get方法實現(xiàn)
[
{
"description":"這是我們的第一個mock例子",
"request":{
"uri":"/demo",
"method":"get",
"queries":{
"name":"huhanssan",
"age":"18"
}
},
"response":{
"text":"第一個mock框架demo"
}
}
]
3.帶參數(shù)的post方法實現(xiàn)
[
{
"description":"這是我們的第一個mock例子",
"request":{
"uri":"/demo",
"method":"post",
"forms":{
"name":"huhanssan",
"age":"18"
}
},
"response":{
"text":"第一個mock框架demo"
}
}
]
4.帶cookies的get方法實現(xiàn)
[{
"description":"這是我們的第一個mock例子",
"request":{
"uri":"/demo",
"method":"get",
"cookies":{
"login":"true"
},
"response":{
"test":"這是一個帶cookies的get方法實現(xiàn)"
}
}]
5.帶cookies的post方法實現(xiàn)
[
{
"description":"帶cookies的post請求",
"request":{
"uri":"/post/with/cookies",
"method":"post",
"cookies":{
"login":"true"
},
"json":{
"name":"zhangssna",
"age":"18"
}
},
"response":{
"status":"200",
"json":{
"huhansan":"success",
"status":"1"
}
}
}
]
6.moco框架中如何加入header
[
{
"description":"帶cookies的post請求",
"request":{
"uri":"/post/with/headers",
"method":"post",
"headers":{
"content-type":"application/json"
},
"cookies":{
"login":"true"
},
"json":{
"name":"zhangssna",
"age":"18"
}
},
"response":{
"status":"200",
"json":{
"huhansan":"success",
"status":"1"
}
}
}
]
7.重定向
[
{
"description":"重定向到百度",
"request":{
"uri":"/redirect",
},
"redirectTo":"http://www.baidu.com"
},
{
"description":"重定向到自己的網(wǎng)頁上",
"request":{
"uri":"/redirect/topath",
},
"redirectTo":"/redirect/topath"
},
]
類似:
1.簡介
mock用來模擬接口的虽填,本次學習mock用的是moco框架怯邪,moco框架是github上的一個開源項目,可以模擬一些http,https,Socket協(xié)議漾岳。
2.實際場景
比如前后臺開發(fā)的時候窿凤,如果后端接口沒有開發(fā)完梅誓,但是前臺同志需要接口來調(diào)試自己的頁面勃教,這時候就可以利用mock來模擬自己想要的接口和數(shù)據(jù)。
3.啟動
moco框架是github上的一個開源項目踢星,可以把這個項目源碼拿下來使用 gradle編譯為一個jar,也可以網(wǎng)上直接找 jar 包下載。這里提供一個jar的下載 地址:https://repo1.maven.org/maven2/com/github/dreamhead/moco-runner/0.11.0/moco-runner-0.11.0-standalone.jar 里面也有很多個版本隙咸,選擇最大的那個包即可沐悦。
啟動命令如下:
java -jar -Dfile.encoding=UTF-8 ./moco-runner-0.11.0-standalone.jar 協(xié)議類型 -p 端口號 -c json配置文件
4.demo示例
我的操作在IDEA環(huán)境中執(zhí)行,可以在本機環(huán)境隨便一個目錄執(zhí)行五督,但是需要安裝 jdk 藏否。
第一步:在IDEA中創(chuàng)建目錄 Chapter7,把下載好的jar包 moco-runner-0.11.0-standalone.jar 放在目錄下充包,創(chuàng)建一個json的demo文件 startup1.json
里面的內(nèi)容如下:
[
{
"description":"這是我們的第一個mock例子",
"request":{
"uri":"/demo"
},
"response":{
"text":"我是第一個mock例子"
}
}
]
json的語法葉有點了解的副签,不然總是會寫錯。
description 程序不會識別基矮,是寫給我們自己看的继薛。
request 是請求,里面的 uri 是我們訪問應用的時候拼接在端口后面的路徑愈捅。
response 是響應遏考。
執(zhí)行: java -jar -Dfile.encoding=UTF-8 ./moco-runner-0.11.0-standalone.jar http -p 8888 -c startup1.json
返回如下代表啟動成功。
瀏覽器訪問 http://localhost:8888/demo 返回如下:
5.get請求
5.1.不帶參數(shù)的get請求
[
{
"description":"模擬一個沒有參數(shù)的get請求",
"request":{
"uri":"/getdemo",
"method":"get"
},
"response":{
"text":"這是一個沒有參數(shù)的get請求"
}
}
]
瀏覽器訪問 http://localhost:8888/getdemo
5.2.帶參數(shù)的get請求
[
{
"description":"這是一個帶參數(shù)的get請求",
"request":{
"uri":"/getwithparam",
"method":"get",
"queries": {
"name": "huhansan",
"age": "18"
}
},
"response":{
"text":"我胡漢三又回來了@督鳌灌具!"
}
}
]
瀏覽器訪問 http://localhost:8888/getwithparam?name=huhansan&age=18
6.post請求(帶參數(shù)和不帶參數(shù))
[
{
"description":"模擬一個post請求",
"request":{
"uri":"/postdemo",
"method":"post"
},
"response":{
"text":"這是我的第一個mock的post請求"
}
},
{
"description":"這是一個帶參數(shù)的post請求",
"request":{
"uri":"/postdemoparam",
"method":"post",
"forms":{
"name":"huhansan",
"sex":"man"
}
},
"response":{
"text":"胡漢三帶參數(shù)來了"
}
}
]
這里要注意的是 post的傳參和get不一樣,get里面用的 :
"queries": {
"name": "huhansan",
"age": "18"
}
但是 post 是用的 :
"forms":{
"name":"huhansan",
"sex":"man"
}
也可以用json格式:
"json": {
"name": "huhansan",
"age": "18"
}
但是如果用了 json格式再訪問的時候也記得使用 json格式傳參哈~
post接口的調(diào)用需要借助工具譬巫,我使用的postman咖楣。
7.帶cookies的請求(get & post)
[
{
"description":"這是一個帶cookies信息的get請求",
"request":{
"uri":"/get/with/cookies",
"method":"get",
"cookies":{
"login":"true"
}
},
"response":{
"text":"這是一個需要攜帶cookies信息的get請求"
}
},
{
"description":"這是一個帶cookies信息的post請求",
"request": {
"uri": "/post/with/cookies",
"method": "post",
"cookies": {
"login": "true"
},
"json": {
"name": "huhansan",
"age": "18"
}
},
"response":{
"status":200,
"json":{
"huhansan":"success",
"status":"1"
}
}
}
]
訪問的時候在頭信息加上cookie即可。
8.帶請求頭(headers)的請求(post)
[
{
"description":"這是一個帶header信息的post請求",
"request":{
"uri":"/post/with/headers",
"method":"post",
"headers":{
"content-type":"application/json"
},
"json":{
"name":"wanglaosi",
"sex":"woman"
}
},
"response":{
"json":{
"wanglaosi":"success",
"status":"1"
}
}
}
]
訪問的時候加上請求頭信息即可芦昔。
9.重定向
[
{
"description":"重定向到百度",
"request":{
"uri":"/redirect"
},
"redirectTo":"http://www.baidu.com"
},
{
"description":"重定向自己的網(wǎng)頁上",
"request":{
"uri":"/redirect/topath"
},
"redirectTo":"/redirect/new"
},
{
"description":"這是被重定向的請求",
"request":{
"uri":"/redirect/new"
},
"response":{
"text":"重定向成功啦诱贿。。"
}
}
]
第一個訪問 http://localhost:8888/redirect 跳轉(zhuǎn)到百度咕缎,
第二個訪問 http://localhost:8888/redirect/topath 返回 重定向成功啦珠十。。就代表重定向成功凭豪。
完了焙蹭,雖然不多,但是感覺收獲不少呢嫂伞。
作者:飛翼_U
鏈接:http://www.reibang.com/p/2270360a827f
來源:簡書
著作權(quán)歸作者所有孔厉。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)拯钻,非商業(yè)轉(zhuǎn)載請注明出處。