在使用 Flask-Restful 实现 REST API 时,我想返回一个 Flask 的Response对象,因为它灵活且易于使用。例如:return Response( response=jsonify({ "data": { "import_id": import_id } }), status=201, mimetype="application/json" )但看起来flask-restless 不支持这样的事情:2019-08-05 08:52:30,077 werkzeug INFO 172.21.0.1 - - [05/Aug/2019 08:52:30] "POST /imports HTTP/1.1" 500 -2019-08-05 08:52:30,078 werkzeug ERROR Error on request:Traceback (most recent call last): File "/usr/local/lib/python3.7/site-packages/werkzeug/serving.py", line 303, in run_wsgi execute(self.server.app) File "/usr/local/lib/python3.7/site-packages/werkzeug/serving.py", line 293, in execute for data in application_iter: File "/usr/local/lib/python3.7/site-packages/werkzeug/wsgi.py", line 507, in __next__ return self._next() File "/usr/local/lib/python3.7/site-packages/werkzeug/wrappers/base_response.py", line 45, in _iter_encoded for item in iterable:TypeError: 'Response' object is not iterable如果有任何解决方法可以使用响应?如果没有,我怎样才能用flask-restfull返回一个 mimetype ?
1 回答
一只斗牛犬
TA贡献1784条经验 获得超2个赞
jsonify()函数返回一个flask.Response()对象,同时json.dumps(obj)序列化为objJSON 格式的字符串。
....
from Flask import json, Response
....
return Response(
response=json.dumps({
"data": {
"import_id": import_id
}
}),
status=201,
mimetype="application/json"
)
添加回答
举报
0/150
提交
取消
