Flask尝试序列化为JSON,尽管mimetype=text/plain
我有一个API,我正在发布Flask尝试序列化为JSON,尽管mimetype=text/plain,flask,flask-restful,Flask,Flask Restful,我有一个API,我正在发布application/json数据,我想从中返回text/plain。我得到以下错误: TypeError: Object of type 'Response' is not JSON serializable 即使我明确地将text/plain设置为mimetype: return Response(ret_str, mimetype='text/plain') 我的帖子如下: headers = {"Content-Type":"application/jso
application/json
数据,我想从中返回text/plain
。我得到以下错误:
TypeError: Object of type 'Response' is not JSON serializable
即使我明确地将text/plain
设置为mimetype:
return Response(ret_str, mimetype='text/plain')
我的帖子如下:
headers = {"Content-Type":"application/json", "Accept":"text/plain"}
r = requests.post(url, data = json.dumps(data), headers = headers)
我做错了什么
编辑:完全回溯
Traceback (most recent call last):
File "/root/miniconda3/lib/python3.6/site-packages/flask/app.py", line 1612, in full_dispatch_request
rv = self.dispatch_request()
File "/root/miniconda3/lib/python3.6/site-packages/flask/app.py", line 1598, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/root/miniconda3/lib/python3.6/site-packages/flask_restful/__init__.py", line 484, in wrapper
return self.make_response(data, code, headers=headers)
File "/root/miniconda3/lib/python3.6/site-packages/flask_restful/__init__.py", line 513, in make_response
resp = self.representations[mediatype](data, *args, **kwargs)
File "/root/miniconda3/lib/python3.6/site-packages/flask_restful/representations/json.py", line 21, in output_json
dumped = dumps(data, **settings) + "\n"
File "/root/miniconda3/lib/python3.6/json/__init__.py", line 231, in dumps
return _default_encoder.encode(obj)
File "/root/miniconda3/lib/python3.6/json/encoder.py", line 199, in encode
chunks = self.iterencode(o, _one_shot=True)
File "/root/miniconda3/lib/python3.6/json/encoder.py", line 257, in iterencode
return _iterencode(o, 0)
File "/root/miniconda3/lib/python3.6/json/encoder.py", line 180, in default
o.__class__.__name__)
TypeError: Object of type 'Response' is not JSON serializable
我们能看到更多的回溯吗?没有任何内容跳出为无效。另外,请尝试为返回字符串使用命名的arg,我不确定该位置arg的设置:
返回响应(Response=ret_str,mimetype='text/plain',status=200)
@wholevinski backtrace posted因此看起来flask_restful正在为您做出响应,他们的代码只支持现成的JSON。要扩展它,您需要遵循以下说明:有趣!但它确实适用于GET请求……是否只是针对POST,而restful无法处理非JSON?