Используя reqparse flask_restful, можете ли вы игнорировать значения, не включенные в params или json? - PullRequest
0 голосов
/ 10 октября 2019

Допустим, у вас есть запрос на API, и вы используете flask_restful.reqparse для обработки параметров и тела запроса.

POST {{url}}/users
Content-Type: application/json

{
    "firstName": "First",
    "lastName": "Last",
    "age": 25
}
parser = reqparse.RequestParser()
parser.add_argument("firstName", type=str)
parser.add_argument("lastName", type=str)
parser.add_argument("age", type=int)
parser.add_argument("valueInQuestion", type=str)

Возможно ли, чтобы вы не включализначения не найдены в запросе при вызове .parse_args()? Например, в приведенном выше парсере у нас есть valueInQuestion, но тело запроса не содержит этого поля.

Что я получаю от парсера: {'firstName': 'First', 'lastName': 'Last', 'age': 25, 'valueInQuestion': None}.

То, что я хочу получить от парсера: {'firstName': 'First', 'lastName': 'Last', 'age': 25}, потому что valueInQuestion не включено.

РЕДАКТИРОВАТЬ: Я знаю, что могу отфильтровать None значения из dict. Я не собираюсь этого делать, потому что если пользователь нажимает запрос POST с помощью {...valueInQuestion: null}, я хочу сохранить это значение, а не отфильтровывать его.

1 Ответ

0 голосов
/ 10 октября 2019

Вы также можете просто отфильтровать элементы из dict, который имеет значение None, на всякий случай, если эта опция для вас

res = {k: v для k, v в your_dict.items () если v не None}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...