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啦

posted @ 2022-08-12 16:09  致命风华  阅读(330)  评论(0编辑  收藏  举报