一、 mock
1. 什么是mock?
①测试桩:模拟被测对象的返回,用于测试
②mock:通常指mock server ,模拟服务返回的接口数据,用于前端开发、第三方接口联调想·
2. 为什么要学习mock?
①前后端开发进度不一致,前端开发快于后端开发,前端需要一个假的接口用于模拟后端数据返回。
②项目用到第三方接口,三方接口没有开发好或者没有开发环境
3. 如何使用mock?
①利用抓包工具fiddler,但是不方便而且也不专业
②用web框架模拟:Django、flask(结构简单,容易入门)
4. flask使用
①安装flask:pip install flask
②使用flask
- 案例一:最简单的get请求
# 服务端
# 导包
from flask import Flask
# 实例化一个web服务对象,app 这个名字是预定俗成的
app = Flask(__name__)
# 定义一个路由 -- 访问服务器的根目录就能得到结果
@app.route('/')
# 创建一个方法来处理请求
def hello():
data = {
"error_code": 0,
"reason": "success",
"result": {
"data": {
"conclusion": "独营生意,和气吉祥,排除万难,必获成功",
"analysis": "主人性格类型:[大胆行事冲动派型],其具体表现为:爱好追寻刺激,有不理后果大胆行事的倾向。崇尚自由奔放的恋爱,会拼尽全力爱一场,是就算明知无结果都在所不惜的冲动派。"
}
}
}
return data
# 入口
if __name__ == '__main__':
app.run('127.0.0.1', '9090')
# 客户端
import requests
res = requests.get("http://127.0.0.1:9090/")
print(res.text)
- 案例二:构建post请求的响应
# 服务端
# 导包
from flask import Flask,request
# 实例化一个web服务对象,app 这个名字是预定俗成的
app = Flask(__name__)
# 构造一个接受post请求的响应
@app.route('/post',methods = ["POST"])
def test_post():
# 使用request处理请求发送过来的参数
id = request.form["id"]
name = request.form["name"]
return "接受到请求发送过来的数据:"+name+id
# 入口
if __name__ == '__main__':
app.run('127.0.0.1', '9090')
# 客户端
import requests
body = {
"id": "007",
"name": "anfly"
}
res = requests.post("http://127.0.0.1:9090/post", data=body)
print(res.text)
- 案例三:复杂的post
# 服务端
# 导包
from flask import Flask, request, json
# 实例化一个web服务对象,app 这个名字是预定俗成的
app = Flask(__name__)
# 处理稍微复杂的post请求
@app.route("/post/food", methods=["POST"])
def