def validation(schema):
"""function decorator"""
def dec(func):
def wrapper(self, *args, **kwargs):
try:
rawdata = request.data
enc = chardet.detect(rawdata)
data = rawdata.decode(enc['encoding'])
json_input = json.loads(data)
jsonschema.validate(json_input, schema)
json_input = prepare_input(json_input)
except:
raise BadRequest('JSON input not valid: {}'.format(format_exc()))
return func(self, json_input, *args, **kwargs)
return wrapper
return dec
评论列表
文章目录