Flask没有返回任何响应 - Postman'java.lang.NullPointerException“错误

时间:2018-02-12 03:15:05

标签: python flask flask-restful

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

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)

我使用postman将文件(虽然文件上传(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个小时,在互联网上尝试所有可能的解决方案,但仍然没有成功找出解决方案。请帮忙提供您的意见。

感谢。

1 个答案:

答案 0 :(得分:0)

看起来问题出在Pro PyCharm的“测试RESTful Web服务”上,当我使用POSTMAN时,我收到了预期的输出。