一个简单的mock server
在前后端分离的项目中,
前端无需等后端接口提供了才调试,
后端无需等第三方接口提供了才调试,
基于“契约”,可以通过mock server实现调试,
下面是一个简单的mock server,通过python的Flask框架实现,
mock_test.py
from flask import Flask, jsonify, g
import copy
app = Flask(__name__) @app.before_request
def set_up_data():
g.data = [
{'id': 1, 'uname': 'tom'},
{'id': 2, 'uname': 'jcck'},
{'id': 3, 'uname': 'lucy'}
] g.user_does_not_exist = {"msg": "user does not exist"} @app.route('/api/user')
def get_all_users():
return jsonify(g.data) @app.route('/api/user/<int:user_id>')
def get_user(user_id):
if user_id > 0 and user_id <= len(g.data):
return jsonify(g.data[user_id-1])
else:
return jsonify(g.user_does_not_exist)
# set FLASK_APP=mock_test.py
# flask run

获取所有用户:
http://localhost:5000/api/user

获取指定用户:
http://localhost:5000/api/user/2

非法字符:
http://localhost:5000/api/user/a

改进mock_test.py
from flask import Flask, jsonify, g
import copy
app = Flask(__name__) @app.before_request
def set_up_data():
g.data = [
{'id': 1, 'uname': 'tom'},
{'id': 2, 'uname': 'jack'},
{'id': 3, 'uname': 'lucy'}
] g.user_does_not_exist = {"code":"01", "msg": "user does not exist"} @app.route('/api/user')
def get_all_users():
print(type(jsonify(g.data)))
# return jsonify(g.data)
return jsonify({"code":"00", "msg":g.data}) @app.route('/api/user/<int:user_id>')
def get_user(user_id):
if user_id > 0 and user_id <= len(g.data):
# return jsonify(g.data[user_id-1])
return jsonify({"code":"00","msg":g.data[user_id-1]})
else:
return jsonify(g.user_does_not_exist) # set FLASK_APP=mock_test.py
# flask run
一个简单的mock server的更多相关文章
- Fiddler-009-AutoResponder 简单的 MOCK SERVER 应用实例
在我们日常的测试中经常需要测试特定的响应对应的客户端展示样式是否正确无误,实现测试方法一般有如下三种: 创建新的测试数据(工作量较大) 修改已有测试数据(例如修改对应的状态码,若是最终需要测试的按钮状 ...
- 编写一个简单的Web Server
编写一个简单的Web Server其实是轻而易举的.如果我们只是想托管一些HTML页面,我们可以这么实现: 在VS2013中创建一个C# 控制台程序 编写一个字符串扩展方法类,主要用于在URL中截取文 ...
- 用Python编写一个简单的Http Server
用Python编写一个简单的Http Server Python内置了支持HTTP协议的模块,我们可以用来开发单机版功能较少的Web服务器.Python支持该功能的实现模块是BaseFTTPServe ...
- 写了一个简单的CGI Server
之前看过一些开源程序的源码,也略微知道些Apache的CGI处理程序架构,于是用了一周时间,用C写了一个简单的CGI Server,代码算上头文件,一共1200行左右,难度中等偏上,小伙伴可以仔细看看 ...
- 用go和zk实现一个简单的分布式server
golang的zk客户端 最近打算写个简单的配置中心,考虑到实现便捷性,语言选择了go,由于其中计划用到zk,就调研了下golang的zk客户端,并实现了个简单的分布式server.最终找到了两个,地 ...
- 创建一个简单的 MDM server(1)
前提:已获得 APNS 证书 ,已完毕 MDM 配置描写叙述文件的制作.请參考< MDM 证书申请流程 >一文和<配置MDM Provisioning Profile>. 环境 ...
- 如何写一个简单的Web Server(一)
在本篇博文中我将介绍如何写一个Web Server.博文中大部分资料我是参考的这篇文章(http://www.linuxhowtos.org/C_C++/socket.htm),英文不错的同学可以 ...
- 【Python】 做一个简单的 http server
# coding=utf-8 ''' Created on 2014年6月15日 @author: Yang ''' import socket import datetime # 初始化socket ...
- 一个简单的sel server 函数的自定义
创建自定义函数:use 数据库名gocreate function 函数名(@pno int)returns intasbegin declare @a int if not exists(se ...
随机推荐
- Luogu P2403 [SDOI2010]所驼门王的宝藏
比较显然的缩点+拓扑排序题,只不过要建虚点优化建边. 首先我们发现在一个SCC里的点都是可以一起对答案产生贡献的,因此先缩成DAG,然后拓扑找最长链. 但是我们发现这题最坏情况下边数会达到恐怖的\(O ...
- 汇编 LOOP,LOOPD指令
一.LOOP指令 循环控制指令LOOP 格式: LOOP 标号 loopd 功能: 1.ECX=ECX-1 2.(ECX)<>0,则转移至标号处循环执行 3.直至(ECX)=0,继续执行后 ...
- .Net架构篇:思考如何设计一款实用的分布式监控系统?
前言 无论从最早期的unix操作系统,还是曾经大行其道的单体式应用,还是现在日益流行的微服务架构,始终都离不开监控的身影.如windows的任务管理器,linux的top命令,都可以看作是监控的面板. ...
- Azure Load Balancer : 简介
Azure 提供的负载均衡服务叫 Load Balancer,它工作在 ISO 七层模型的第四层,通过分析 IP 层及传输层(TCP/UDP)的流量实现基于 "IP + 端口" 的 ...
- 以太坊remix-ide本地环境搭建
remix-ide简介 remix-ide是一款以太坊官方solisity语言的在线IDE,可用于智能合约的编写.测试与部署,不过某些时候可能是在离线环境下工作或者受限于网速原因,使用在线remi ...
- C. Banh-mi
链接 [http://codeforces.com/contest/1062/problem/C] 题意 给你有n个字符(0 or 1)的串,当去某个位置时所有的剩下的位置都加上这个位置的数字,q次查 ...
- 软工个人博客-week7
Part 1 No Silver Bullet - Essence and Accidents of Software Engineering软件工程中没用通用的方法或者技术让软件工程在短 ...
- 第七次Scrum meeting
第七次Scrum meeting 任务及完成度: 成员 12.26 12.27 陈谋 任务1040:完成stackoverflow的数据处理后的json处理(98%) 任务1114-1:完成对网页数 ...
- Linux内核分析 笔记五 扒开系统调用的三层皮(下) ——by王玥
(一)给MenuOs增加time和time-asm命令 更新menu代码到最新版 在main函数中增加MenuConfig 增加对应的Ttime和TimeAsm函数 make rootfs (二)使用 ...
- 第三个spring冲刺第10天
进入最后阶段冲刺最后一天了,基本的需求已经完成了,最后的布局问题也解决了,我们的软件正式推出了.