在尝试处理Flask Rest API中的错误时,我想返回错误消息和状态代码的json版本。我尝试了以下几种方法
@app.route("/model/test/",methods=["GET"])
def show():
try:
num=request.args['num']
return jsonify({'result':num,'response':'200 OK'})
except Exception as e:
return jsonify({'error':e})当我用http://localhost:5000/model/test/?ummm=30调用GET方法时。我得到了一个错误异常不能被jsonified任何关于如何给出我所希望的错误输出的帮助?
发布于 2020-05-06 18:36:20
json不支持很多格式。Python解码/编码规则可以在here中找到。我建议从异常中提取文本,并添加一个状态代码,比如"error" : "Message: {}, status 400 Bad request".format(e)?或者,您可以单独添加status-code。
发布于 2021-09-01 21:51:21
例如,您可以:
def my_function():
if request.method == 'PUT':
try:
a_test_function(request)
return {
'message': 'Request is a good request.',
'status': 200,
}, 200
except ValueError as error:
return {
'message': "Bad request!",
'status': 400,
'Error': str(error),
}, 400
except:
return {
'message': "Bad request!",
'status': 400,
'Error': 'Unexpected error.',
}, 400https://stackoverflow.com/questions/61632444
复制相似问题