1、无聊的背景、起源:

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

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

来来来,搞起来

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 import abort, jsonify, Flask, request, Response app = Flask(__name__)
# 增加配置,支持中文显示
app.config['JSON_AS_ASCII'] = False tasks = {
"code": 0,
"msg": "OK",
"data": {
"waybillNumber": "",
"serviceMode": "",
"waybillStatus": "",
"deliveryAbbreviationAddress": "深圳",
"pickupAbbreviationAddress": "深圳"
},
"traceId": "dp1r"
} @app.route('/task', methods=['GET','POST'])
def get_task():
return jsonify(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

网页打开:

postman访问:get/post

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

至此,极简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"
}
}
]

1分钟搭建极简mock server的更多相关文章

  1. CentOS下使用Postfix + Dovecot + Dnsmasq搭建极简局域网邮件系统

    背景 开发环境为局域网,工作内容需要经常查看邮件文件(*.eml),可恶的Foxmail必须验证账户才能进入主界面,才能打开eml文件查看. 无奈搭一个局域网内的邮件系统吧.极简搭建,仅用于通过Fox ...

  2. 基于layui和bootstrap搭建极简后台管理框架

    年前无聊,想自己搭建一个后台管理框架,对比了easyui.Extjs.H-ui.H+UI.layui几个框架,easyui和Extjs虽然功能强大但是界面实在是接受不了,H+UI和layuiAdmin ...

  3. Mysql 主从复制搭建-极简版

    前言 自己在百度.Google一番踩坑搭建成功后,记录一下,也希望后来人不再被这些坑到. 这里为了方便使用 docker,不会的同学请移步相关 Docker 教程. 正文 1. 启动 mysql #启 ...

  4. Dockfile搭建极简LNMP环境

    最近才发现ThinkPHP6.0和CI4.x都要求php版本为7.1以上了,本机的php版本还停留在7.0.3x,又懒得升级,于是考虑使用Docker来运行一个lnmp环境. 常规环境搭建的方式有两种 ...

  5. 搭建Mock Server

    1.为什么要搭建mock-server? 为了更好的分工合作,让前端能在不依赖后端环境的情况下进行开发,其中一种手段就是为前端开发者提供一个 web 容器,这个本地环境就是 mock-server. ...

  6. mock server搭建及接口测试简单实例

    一.搭建mock server mock工具很多,这里我们选择用简单易操作的moco服务器 使用前必须先安装java,去相关网站下载Standalone Moco Runner 二.使用mock se ...

  7. 【前端开发】 5分钟创建 Mock Server

    http://blog.csdn.net/wxqee/article/details/50165581 NOTIFY 官网文档现在已经很简约.很强大了,建议直接点击这里: Getting Starte ...

  8. Mock Server的搭建

    一.概述 我们系统与第三方开票系统有交互,场景是我们系统请求第三方开票系统,第三方开票系统根据我们的请求数据,生成开票信息然后返回发票号或异常信息,我们根据返回的信息做对应的处理.因为配合上存在一些障 ...

  9. 基于七牛云对象存储,搭建一个自己专属的极简Web图床应用(手摸手的注释讲解核心部分的实现原理)

    一个极简的Web图床应用,支持复制粘贴与拖拽上传图片 1.开发缘由 日常使用Vs Code编写markdown笔记与博客文章时,在文章中插入图片时发现非常不便 使用本地文件编写相对路径---没法直接复 ...

随机推荐

  1. C# Excel 操作

    Excel数据到datagridview 里面 (流读取) System.Windows.Forms.OpenFileDialog fd = new OpenFileDialog(); if (fd. ...

  2. Sqlserver风格规范

    常见的字段类型选择 1.字符类型建议采用varchar/nvarchar数据类型 2.金额货币建议采用money数据类型 3.科学计数建议采用numeric数据类型 4.自增长标识建议采用bigint ...

  3. 以太坊系列之六: p2p模块--以太坊源码学习

    p2p模块 p2p模块对外暴露了Server关键结构,帮助上层管理复杂的p2p网路,使其集中于Protocol的实现,只关注于数据的传输. Server使用discover模块,在指定的UDP端口管理 ...

  4. 「BJOI2012」连连看

    题目链接 戳我 \(Solution\) 我们首先进行拆点操作,将每个点都拆成\(x\)和\(y\),将满足条件的两个点连起来就好了(记得要将\(x\)连\(y'\)的同时要将\(y\)联向\(x'\ ...

  5. 第五篇 Python内置函数

    内置函数 abs() delattr() hash() memoryview() set() all()    dict()  help() min() setattr() any()  dir()  ...

  6. kali linux之xss

    攻击web客户端 客户端脚本语言(弹窗,广告,在浏览器中执行,javascript) javascript--与java语言无关,使用最广的客户端脚本语言 xss(cross-site scripti ...

  7. 【bzoj3998】弦论 后缀自动机

    Description 对于一个给定长度为N的字符串,求它的第K小子串是什么. Input 第一行是一个仅由小写英文字母构成的字符串S 第二行为两个整数T和K,T为0则表示不同位置的相同子串算作一个. ...

  8. J2EE 的体系结构

    J2EE 即Java2平台企业版,它提供了基于组件的方式来设计.开发.组装和部署企业应用.J2EE使用多层分布式的应用模型,这个多层通常通过三层或四层来实现: 1.客户层,运行在客户计算机上的组件.  ...

  9. Python获取网页Html文本

    Python爬虫基础 1.获取网页文本 通过urllib2包,根据url获取网页的html文本内容并返回 #coding:utf-8 import requests, json, time, re, ...

  10. WebGL学习之法线贴图

    实际效果请看demo:纹理贴图 为了增加额外细节,提升真实感,我们使用了漫反射贴图和高光贴图,它们都是向三角形进行附加纹理.但是从光的视角来看是表面法线向量使表面被视为平坦光滑的表面.以光照算法的视角 ...