我正在使用flask RESTful开发一个API,并且对flask的jsonify函数有问题。我使用flask-marshmallow进行JSON序列化。下面是一个非常简化的代码片段:
result = activities_schema.dump(activities)
return jsonify(result)
在本地,端点将返回具有键“data”和“errors”的json;但是,在Linux服务器上运行时,它返回的结果包含一个列表和一个dict,而没有“data”和“errors”键。在
我已经确定这种不一致是由Flask的jsonify函数引起的,它在API返回结果之前将结果打印出来。在本地和服务器上,“result”等于:
^{pr2}$但是,当我在使用Flask的jsonify打印响应时,我在本地得到了:
('{\n "data": [], \n "errors": {}\n}', '\n')
在服务器上打印时:
('[\n [], \n {}\n]', '\n')
有人知道为什么这些不匹配吗?在
我又研究了一些,找到了一个解决问题的方法(我觉得有点傻,因为解决方案在文档中是正确的),但无法解释为什么会出现原始问题。在
解决方案(找到here)是使用:
或者:
^{pr2}$任何一个方法都只返回数据,而不是错误。在
我仍然无法解释为什么在服务器和我的本地机器之间以另一种方式进行操作是不一致的,但这可能是另一个问题。在
相关问题 更多 >
编程相关推荐