python写Mock之设置返回headers
前言
当我们做一些接口的时候,也可能调用方需要根据返回的headers中的特征值来做一些处理,
或者我们mock的是一个登录接口需要在header中放入一直特征值,比如token等,那么我们
就需要在返回中,做一些header的设置了
在我们上一篇写到的接口中,一般我们都会在最后使用return返回一个字符串类型的消息体
return json.dumps(data)
其实在这个return中是可以返回三个值的,分别是:消息体、状态码、消息头
那么我们就可以根据这个来进行消息头的设置啦
1、消息头的数据格式可以是一个字典
@app.route("/post/header", methods=['POST'])
def postHeader():
# 中间内容省略
data = {"msg": "success", "data": []}
return json.dumps(data), 999, {"jwt":oauth }
2、我们知道字典其实就是一个列表中,放置的元祖,所以还可以是如下格式
@app.route("/post/header", methods=['POST'])
def postHeader():
# 中间内容省略
data = {"msg": "success", "data": []}
return json.dumps(data), 999, [("token", "adnnfafasndfasfj")]
3、使用make_response来构造返回
from flask import make_response
@app.route("/post/test", methods=['post'])
def make_re():
# 构建一个response
res = make_response()
user = request.get_data(as_text=True)
# 设置返回状态码,设置status值
res.status = 998
# 设置返回headers,可以直接给一个字典,也可以一个一个赋值
# res.headers['jwt'] = 123
res.headers = {"jwt": 123, "age": 10}
# 可以使用set_data来设置返回的消息体
res.set_data(user)
return res
这样就可以完美的使用headers以及完美的返回headers啦