Python Flask RequestParser

#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-статус или код ошибки