一个简单的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 ...
随机推荐
- Momenta电话面试笔记
- nginx解决前端跨域配置
在nginx.conf文件中 添加如上配置: 在ajax中将原来的 url:http://192.168.1.127:8905/findItem 改成:'http://localhost/findIt ...
- 闭包----你所不知道的JavaScript系列(4)
一.闭包是什么? · 闭包就是可以使得函数外部的对象能够获取函数内部的信息. · 闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分. · 闭包就 ...
- python-小知识点-14
''' python2 python3 ''' #python2 print() print 'abc' range() xrange() 生成器 raw_input() #python3 print ...
- OneZero第一次随感
>本人基础薄弱,有幸加入这个团队,甚感欣慰.这是本人第一次尝试写博客,说实话,胆怯.因为能力有限,怕技能匮乏,说不好.但是我知道既然加入这个团队,就要为团队负责.万事开头难,过程也挺难(就我个人 ...
- Visual Studio的安装与单元测试
一.Visual Studio的安装 由于上学期重装了win10系统,以前使用的vc++6.0不能够正常使用,所以直接就安装了Visual Studio 2015,安装的时候就直接按照提示的步骤进行安 ...
- Linux内核分析 读书笔记 (第四章)
第四章 进程调度 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间.进程调度程序可看做在可运行态进程之间分配有限的处理器时间资源的内核子系统.只有通过调度程序的合理调度,系统资源才能最大限 ...
- Python入门:如何使用第三方库?
这是关于Python的第13篇文章,也是关于<编程小白的第1本Python入门书>内容的最后一篇,主要介绍下如何使用第三方库. 1. 第三方库 Python相当于一个手机,第三方库相当于手 ...
- Notepad++找回Plugin Manager{在v7.50后(包括7.50)不带有插件管理器(Plugin Manager)}
https://github.com/notepad-plus-plus/notepad-plus-plus/issues/2459 64 bit Plugin Manager is now avai ...
- Nginx rewrite模块深入浅出详解
rewrite模块(ngx_http_rewrite_module) nginx通过ngx_http_rewrite_module模块支持url重写.支持if条件判断,但不支持else.另外该模块需要 ...