#python #rest #flask #flask-restful
#python #rest #flask #flask-restful
Вопрос:
Я изучаю flask Restful API, где я наткнулся на RequestParser, в котором мой пример включает
data_put = reqparse.RequestParser(bundle_errors=True)
data_put.add_argument("username",type=str,help="Username not provided",location="json",required=True)
data_put.add_argument("new_password",type=str,help="New password not provided", location="json", required=True )
приведенный выше фрагмент кода отлично работает с параметром username и new_password и возвращает сообщение об ошибке, если таковое имеется, как
{
"message": {
"username": "Username not provided",
}
}
это здорово.
Но возможно ли вставить определенное пользователем значение в ответное сообщение, например, могу ли я получить ответ как
{
"message": {
"username": "Username not provided",
"error_code": 1000
}
}
где значение кода ошибки будет переменной.
Ответ №1:
Да, вы можете удалить требуемое из строки .add_argument, а в классе, где вы получаете post / get после выполнения args = data_put.parseargs
(), Вы можете проверить, есть ли имя пользователя в аргументах
if args["username"]:
return {"message": "Wrong username"}
И возвращает HTTP-статус или код ошибки