request.get_json()在本地主机上有效,但在远程主机上不可用

时间:2020-07-01 13:53:50

标签: python json flask

这可能是我遇到的最奇怪的错误,过去48个小时我一直在努力寻找解决方案。基本上,我有一个已经开发了一年半的Flask应用程序。一切正常,除了我的最后一项任务。我正在尝试将Elasticsearch与该应用程序集成,到目前为止,一切都可以在我的本地计算机(Mac OS X Catalina)上运行。但是,当我在服务器(DigitalOcean CentOS 7)上输入相同的代码时,它将失败。

具体来说,我试图获取json数据并将其合并到传递给Elasticsearch的搜索字符串中。相关代码如下:

从烧瓶导入请求,g,蓝图,json,响应,current_app,url_for

@search_api.route('/', methods=['POST'])
@jwt_required
def search():
    """
    Full text search against user and events models
    """
    req_data = request.get_json()

我在60多个其他API端点中使用了非常相似的代码,但没有一个函数运行不正常。最奇怪的是它可以在localhost上运行。我什至已经完成了打印语句,并且可以验证request.get_json()返回的是空字典。但是,这仅在远程设备上,而不在本地计算机上。

这是我似乎无法修复的错误,因此希望有人以前可能已经看过此错误,并且可以向我指出正确的方向。 Flask版本是1.0.2。

我正在向邮递员提出要求。我试过了cURL,它也会返回相同的错误。

编辑:忘记添加错误:

TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'

该错误与request.get_json()没有任何数据直接相关。我打印该字典的内容为空。因此,问题在于json没有传递给函数。

0 个答案:

没有答案