我正在尝试向烧瓶路径添加装饰器,但是Response对象的状态代码错误。这是一个示例(请注意,我将状态代码更改为202):
from flask import Flask, jsonify
from functools import wraps
def my_decorator(og_func):
@wraps(og_func)
def wrapper(*args, **kwargs):
result, status_code = og_func(*args, **kwargs)
print(f"status code of flask.wrappers.Response object: {result.status_code}")
print(f"status code of actual response: {status_code}")
# log status code somewhere
return result, status_code
return wrapper
app = Flask(__name__)
@app.route("/")
@my_decorator
def home():
data = {"hello": "world"}
return jsonify(data), 202
if __name__ == "__main__":
app.run(debug=True)
如果运行此flask api并使用邮差或curl到达home端点,则后端会显示以下日志:
status code of Response object: 200
status code of actual response: 202
127.0.0.1 - - [04/Apr/2019 11:44:42] "GET / HTTP/1.1" 202 -
为什么响应对象上的状态代码不正确?我是在做错什么还是这是一个错误?