【问题标题】:Flask returns no response - Postman 'java.lang.NullPointerException" errorFlask 没有返回响应 - Postman 'java.lang.NullPointerException" 错误
【发布时间】:2018-07-22 04:27:24
【问题描述】:

我正在尝试构建一个烧瓶应用程序,该应用程序从客户端获取文件,对其进行处理并发送返回响应。问题是应用程序在失败的情况下给出了正确的响应(如果没有收到文件),但是在成功的情况下,即在处理文件之后,没有向客户端返回任何响应。

from flask import Flask, request, jsonify

@application.route('/file', methods=['GET', 'POST'])
def sid():
    """
    Process the PDF File, and return response
    :return:
    """
    print(request)
    if request.method == 'POST':
        if request.files:
            result_after_processing = #After processing
            print(result_after_processing) # This is giving expected output
            return jsonify({'result': result_after_processing}, 200)
        else:
            return jsonify({'result': 'No file recieved'}, 400)


if __name__ == "__main__":
    application.run(debug=True)

我使用邮递员将文件(通过文件上传 (multipart/for-data))发布到端点。

如果我发布文件以外的任何对象,如空或文本(失败情况),我将收到预期的{'result': 'No file received'}。但是,当我发送文件时,java.lang.NullPointerException 是结果。

我什至尝试将有效案例响应硬编码为{'result': 'HardCodedValue'},但 Pycharm RESTful 服务仍然返回java.lang.NullPointerException。原来,我的输出 result_after_processing 是 JSON。

注意:java.lang.NullPointerException 位于 Pro PyCharm 的 RESTful Web 服务上,而不是来自 Python。 Python 正确打印了预期的结果。

我工作了 5 个小时,在互联网上尝试了所有可能的解决方案,但仍然没有找到解决方案。请帮助提供您的意见。

谢谢。

【问题讨论】:

  • 您在使用 Jython 吗?请给出错误堆栈跟踪。
  • @Jacky,我正在开发 Python 3.6。我想,NullPointerException 来自邮递员,因为我的回复是空的。
  • 尝试使用其他客户端上传文件。
  • @stamaimer 感谢您的评论,我试过了,它奏效了。另外,邮递员是正确的,我使用的是 Pycharm 的 RESTful 服务。

标签: python flask flask-restful


【解决方案1】:

看起来问题出在 Pro PyCharm 的“Test RESTful Webservice”上,我在使用 POSTMAN 时收到了预期的输出。

【讨论】:

    猜你喜欢
    • 2022-01-22
    • 2018-02-20
    • 1970-01-01
    • 2018-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多