ReqParser не может найти аргументы в приложении / json - PullRequest
0 голосов
/ 31 января 2019

Попытка использовать 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(...) просто никогда не вызывается.

Что я делаю не так?

...