如何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款热门的远程控制软件,让你事半功倍