Mock服务moco系列(一)
简介、第一个Demo、Get请求、Post请求
目录
- 1、简介
- 2、下载
- 3、第一个Demo
- 3.1、配置文件
- 3.2、启动moco
- 3.3、访问moco
- 4、Get请求
- 5、Post请求
1、简介
1、什么是mock?
mock翻译过来有模拟的意思。
2、什么是moco?
moco是一个简单搭建的Stub框架。Stub可翻译为桩,指用来替换一部分功能的程序段。桩程序可以用来模拟已有程序的行为(比如一个远端机器的过程)或是对将要开发的代码的一种临时替代。简单来说,moco就是解决了开发前端时没有后端支持,开发接口时依赖没有到位的尴尬场景等。
主要特点:
(1)只需要简单的配置request、response等即可满足要求,支持http、https、socket等。
(2)支持在request 中设置headers、cookies等。
(3)对GET、POST、PUT、DELETE等请求方式均支持,很适合web开发。
(4)无需环境配置,有Java环境即可。
(5)修改配置后,立刻生效。只需要维护接口,也就是契约即可。
(6)对可能用到的数据格式都支持,如json、text、xml、file等。
官方网址:
https://github.com/dreamhead/moco
2、下载
官方下载地址:
https://repo1.maven.org/maven2/com/github/dreamhead/moco-runner/
下载相应版本即可,本篇使用0.12.0版本,下载moco-runner-0.12.0-standalone.jar文件。
3、第一个Demo
3.1、配置文件
moco配置文件格式必须是json格式。配置文件是个数组,也就是说,可以在一个文件中配置多个接口的请求和响应。
1、配置文件常用字段:
代码语言:javascript复制description:用来描述这个会话的目的,它只是用作注释,在运行时将被忽略。
request:请求内容。
response:响应内容。
uri:请求关注点。
method:基于指定的HTTP方法(get、post、put、delete、HEAD)。
queries:get请求参数。
forms:post请求参数。
text:文本。
json:Json格式。
file:文件。
headers:信息头。
cookies:cookie信息。
status:响应状态代码。
redirectTo:将请求重定向到指定的url上。
match:正则表达式。
latency:延迟。
template:模板。
2、创建一个Demo示例(01Demo.json)。
description为此接口描述。
请求内容填写在request里,响应内容填写在response里。
响应内容格式为text文本格式。
请求地址格式为:IP 端口号 uri拼接而成(例如http://10.106.29.102:8083/demo)
内容如下:
代码语言:javascript复制[
{
"description":"Moco Demo",
"request":{
"uri":"/demo"
},
"response":{
"text":"Hello Moco"
}
}
]
3.2、启动moco
命令行进入下载完成的moco-runner-0.12.0-standalone.jar包的目录。
输入启动moco服务命令:
代码语言:javascript复制java -jar moco-runner-0.12.0-standalone.jar http -p 8083 -c <配置文件路径>/XXX.json
注:
-p 指定moco服务端口
-c 配置文件路径及文件名
例如:
java -jar moco-runner-0.12.0-standalone.jar http -p 8083 -c 01Demo.json
如图所示:moco服务启动,端口号为8083。
3.3、访问moco
1、打开浏览器访问moco服务地址。
(1)本地访问:
http://localhost:8083/demo
或者:
http://127.0.0.1:8083/demo
(2)远程访问(IP为10.106.29.102):
http://10.106.29.102:8083/demo
2、访问结果显示。
3、控制台显示moco服务请求与响应的信息。
4、Get请求
1、创建02Get.json配置文件。
该配置文件有2个接口(没有参数的Get请求、有参数的Get请求)。
"method":"get"为Get请求,如果不添加此字段,接口默认也是Get请求。
queries为Get请求参数(添加2个参数username、password与其对应值)。
内容如下:
代码语言:javascript复制[
{
"description":"Get请求(没有参数)",
"request":{
"uri":"/getdemo",
"method":"get"
},
"response":{
"text":"Moco Get"
}
},
{
"description":"Get请求(有参数)",
"request":{
"uri":"/getdemo2",
"method":"get",
"queries":{
"username":"admin",
"password":"123456"
}
},
"response":{
"text":"admin,123456"
}
}
]
2、输入启动moco服务命令。
java -jar moco-runner-0.12.0-standalone.jar http -p 8083 -c 02Get.json
3、浏览器访问moco服务地址。
(1)Get请求(没有参数)
访问地址:
http://localhost:8083/getdemo
访问结果显示:
(2)Get请求(有参数)
访问地址:
http://localhost:8083/getdemo2?username=admin&password=123456
访问结果显示:
5、Post请求
1、创建03Post.json配置文件。
该配置文件有2个接口(没有参数的Post请求、有参数的Post请求)。
"method":"post"为Post请求。
forms为Post请求参数(添加2个参数username、password与其对应值)。
内容如下:
代码语言:javascript复制[
{
"description":"Post请求(没有参数)",
"request":{
"uri":"/postdemo",
"method":"post"
},
"response":{
"text":"Moco Post"
}
},
{
"description":"Post请求(有参数)",
"request":{
"uri":"/postdemo2",
"method":"post",
"forms":{
"username":"admin",
"password":"123456"
}
},
"response":{
"text":"admin,123456"
}
}
]
2、输入启动moco服务命令。
java -jar moco-runner-0.12.0-standalone.jar http -p 8083 -c 03Post.json
3、Postman访问moco服务地址。
打开已安装好的Postman。
(1)Post请求(没有参数)
协议类型选为POST
访问地址:http://localhost:8083/postdemo
点击Send,访问结果显示:
(2)Post请求(有参数)
协议类型选为POST
访问地址:http://localhost:8083/postdemo2
Body添加参数(参数名与参数值)。
点击Send,访问结果显示: