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、配置文件常用字段:
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)
内容如下:
[
    {
        "description":"Moco Demo",
        "request":{
            "uri":"/demo"
        },
        "response":{
            "text":"Hello Moco"
        }
    }
]
 
3.2、启动moco
命令行进入下载完成的moco-runner-0.12.0-standalone.jar包的目录。
输入启动moco服务命令:
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与其对应值)。
内容如下:
[
    {
        "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与其对应值)。
内容如下:
[
    {
        "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,访问结果显示:
test
原文地址:https://www.cnblogs.com/liangcr/p/14744649.html