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