尝试使用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
的{{1}}参数尝试了以下值:parser.add_argument(..)
到目前为止没有任何效果。我确保在请求中发送location, json, form, and values
,但没关系,application/json
根本不会被调用。
我在做什么错了?