如何mock返回数据结果
目的:学习如何mock返回数据结果
场景:前端完成,后端接口还没有完成的时候,可以模拟返回数据,或者需要模拟第三方支付接口的时候
方法一:通过fiddler、charles抓包工具,修改返回值。这里以charles为例
1)找到要修改的接口
2)右键save response,保存json文件到本地
3)使用编辑器修改返回数据,可以增加或者减少条数,如图:我使用的是editplus
4)点击charles工具-tools-map local。获取本地文件
5)再次请求接口的时候,就能看的修改的数据了
方法二:flask框架模拟返回数据
此方法是我自学视频的,有不对的欢迎指出。使用的是flask框架
1)安装flask,并启动flask程序
pip install flask
启动flask服务:
from flask import Flask, request
import json
# 实例化测试对象
app = Flask(__name__)
# 添加请求路径
@app.route(/)
def hello():
return <h1>hello world</h1>
if __name__ == __main__:
# 设置端口,防止冲突
app.run(127.0.0.1, 9900)
2)请求mock_client文件,并在mock_server文件中添加post路径
# form格式的请求
@app.route(/post, methods=[POST])
def run():
n1 = request.form[id]
n2 = request.form[name]
return n1+n2
import requests
body = {
id: 123,
name: 12345
}
res = requests.post(http://127.0.0.1:9900/post, data=body)
print(res.text)
运行client文件
下面是完整的文档内容,给大家分享一下
# @Time : 2021-02-01 15:06
# @Author : xx
from flask import Flask, request
import json
# request做业务操作的,不是http请求
# 实例化测试对象
app = Flask(__name__)
# 添加请求路径
@app.route(/)
def hello():
return <h1>hello world</h1>
# # form格式的请求
# @app.route(/post, methods=[POST])
# def run():
# n1 = request.form[id]
# n2 = request.form[name]
# return n1+n2
# json格式的请求
@app.route(/purchaser/, methods=[POST])
def json_post():
res = json.loads(request.get_data())
out_trade_no = res[out_trade_no]
res_data = {
"code": "10000",
"msg": "Success",
"out_trade_no": "20150423001001",
"trade_no": "2015042321001004720200028594"
}
if res_data[out_trade_no] != out_trade_no:
return 请求失败,out_trade_no不正确
return res_data
if __name__ == __main__:
app.run(127.0.0.1, 9900)
# @Time : 2021-02-01 15:20
# @Author : lqw -学习mock数据
import requests
# body = {
# id: 123,
# name: 12345
# }
# res = requests.post(http://127.0.0.1:9900/post, data=body)
# print(res.text)
# 模拟json请求格式
json_data = {
out_trade_no: 1612166664837,
total_amount: 88.88,
subject: 水杯,
buyer_logon_id: 1232134543,
buyer_id: 145644453
}
res =requests.post(http://127.0.0.1:9900/purchaser, json=json_data)
print(res.text)
上一篇:
5款热门的远程控制软件,让你事半功倍
