Jsonify 异常错误
Jsonify Exception errors
在尝试处理 Flask Rest API 中的错误时,我想 return 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
关于如何按照我的意愿给出错误输出的任何帮助?
json 不支持很多格式。 Python decoding/encoding 规则可以找到 here。我建议从异常中提取文本并添加状态代码,也许 "error" : "Message: {}, status 400 Bad request".format(e)
?或者您可以单独添加一个status-code
。
例如,您可以:
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.',
}, 400
在尝试处理 Flask Rest API 中的错误时,我想 return 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
关于如何按照我的意愿给出错误输出的任何帮助?
json 不支持很多格式。 Python decoding/encoding 规则可以找到 here。我建议从异常中提取文本并添加状态代码,也许 "error" : "Message: {}, status 400 Bad request".format(e)
?或者您可以单独添加一个status-code
。
例如,您可以:
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.',
}, 400