Попытка использовать RequestParser
для анализа некоторых данных JSON, но он не может найти значения и не вызывает указанный мной метод.
parser = reqparse.RequestParser(bundle_errors=True)
parser.add_argument('product_ids', type=self.valid_product_ids_list,
help='product_ids must be a list of Strings.',
location='values')
parser.add_argument('other_id', type=int, help='other_id must be an int', location='json')
args = parser.parse_args(request)
def valid_product_ids_list(self, value):
raise ValueError("CALLED")
re_expression = re.compile('[^\da-zA-Z-_]')
for product_id in value:
print(product_id)
print(re_expression.search(product_id))
if not isinstance(product_id, str) and re_expression.search(product_id):
raise ValueError("product_id must be a string of text criteria: 0-9 a-z A-Z - _")
return value
valid_product_ids_list
никогда не вызывается при запросесделан.Я пробовал следующие значения для location
параметра parser.add_argument(..)
: location, json, form, and values
Пока ничего не работает.Я стараюсь отправить application/json
через в моих запросах, но это не имеет значения, parse_args(...)
просто никогда не вызывается.
Что я делаю не так?