我正在尝试构建一个烧录应用程序,它从客户端获取文件,处理它并发送返回响应。问题是应用程序在失败的情况下给出了正确的响应(如果没有收到文件),但是在成功的情况下,即在处理文件之后没有回复客户端。
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个小时,在互联网上尝试所有可能的解决方案,但仍然没有成功找出解决方案。请帮忙提供您的意见。
感谢。
答案 0 :(得分:0)
看起来问题出在Pro PyCharm的“测试RESTful Web服务”上,当我使用POSTMAN时,我收到了预期的输出。