mock server java_1分钟搭建极简mock server

1、无聊的背景、起源:

如今的业务系统越来越复杂庞大,各个功能直接的调用也是多如牛毛,但如果在联调的时候,恰好被调的接口正在开发,怎么办?傻傻的等么,不存在的!这时会搭建一些server来进行mock。使得被开发功能的调试和测试功能能够正常进行下去。这就是mock server的出现的原因。

网上找了张图片,可以很好的解释mock server的作用:

a7f50218940753fa561ddfbb205125e5.png

来来来,搞起来

2、搭建mock server

2.1、安装flask

pip install flask(本文只需flask)

2.2、代码实现,新建my_mock_server.py,填入下列代码

#/usr/bin/env python#-*- coding:utf-8 -*-

from flask importabort, jsonify, Flask, request, Response

app= Flask(__name__)#增加配置,支持中文显示

app.config['JSON_AS_ASCII'] =False

tasks={"code": 0,"msg": "OK","data": {"waybillNumber": "1526351","serviceMode": "10","waybillStatus": "10","deliveryAbbreviationAddress": "深圳","pickupAbbreviationAddress": "深圳"},"traceId": "dp1r"}

@app.route('/task', methods=['GET','POST'])defget_task():returnjsonify(tasks)if __name__ == '__main__':

app.run(

host= '0.0.0.0',

port= 6868,

debug=True

)

一言以蔽之:利用flask的api服务实现mock server功能

简要说明:

tasks字典,存储你的response,而这个tasks是通过下面的函数get_task实现的。

get_task函数前面增加了装饰器,是定义了访问路由,即访问ip:端口/task,即可访问。

jsonify方法将字典转换为json返回给前端。

类似的,可以定义各种task和访问路由,以实现不同的mock功能

2.3、运行mock_server.py

python my_mock_server.py

d571afcb2f6cd634de091e1f3e97b3e9.png

网页打开:

82e4dcf41527c433d95e5bb134c3e5aa.png

postman访问:get/post

可以看到,因为没有定义参数,所以无论传不传参,接口照常访问

7ecaba5afd0e92eca518a00d67dd0b18.png

17d3c06a9b04f781dd75e0237e8cc240.png

至此,极简mock server就搭建完毕。

后话,功能单一,适用场景有限。如果想实现更多共,可以网上找找资料,此为简单入门,应急用。

另外,python搭建的mock server性能有限,如需高性能mock server,推荐java版mock。

只需一个jar包,一个json配置文件,即可

Linux下启动服务:nohup java -jar moco-runner-0.11.0-standalone.jar http -p 5858 -c conf.json > /home/mock_runner/mock.log &jar包可在此下载:http://note.youdao.com/noteshare?id=4094b776f4749ede8665b4e7da38df5f&sub=0DD8BF1BB43247D182F2FEC3FBBB24D6

json配置文件参考:

[

{

"response" :

{

"text" : "Hello, Moco"

}

}

]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值