在我的API
中,在创建新用户时,我调用了许多函数:
userInfo = request.get_json()
email = userInfo.get('email')
password = userInfo.get('password')
validate_email(email)
validate_password(password)
if (no_errors):
add_user_to_database(user)
else:
return exception(?)
我的目标是,我想收集前3个function
来电的结果中出现的所有错误。一个函数可能会捕获多个错误。
例如:
def validate_email(email):
if email is None:
# store error
else:
if email_already_on_server(email)
# store error
if email_too_long(email)
# store error
# What should I be doing here..
我存储了所有errors
后,我想要返回exception(?)
,其中显示已选中的所有errors
。
我不确定最好的办法是......
1)我应该创建一个单独的对象(自定义错误类)来传递给我的所有函数来存储任何errors
吗?
2)如果发现错误,我应该将什么返回给用户?它是自定义exception
,HTTP status code
还包含JSON
格式的所有错误吗?
我很难以正确的方式解决这个问题。
答案 0 :(得分:0)
我喜欢使用jsonify库,然后用这种方式格式化错误:
from flask import jsonify
def jsonifys(status_code=200, **kwargs):
response = jsonify(**kwargs)
response.status_code = status_code
return response
然后我会从我的方法中提出错误,在我的回复中,我将返回如下结果:
return jsonifys(500, error='unable to create process')
因此,任何前端都可以轻松读取错误代码,并且消息可以提供所需的任何信息。 JSON格式也很方便。