def patch_validate_handler(name, bl=None):
def params_validate_handler():
if not request.endpoint \
or not request.endpoint.startswith('{0}.'.format(name)) \
or request.method == 'HEAD':
return
_, blueprint, endpoint = request.endpoint.split('.')
mapping = get_mapping(blueprint, endpoint)
if mapping:
params = request.get_json()
if validate(params, mapping, format_checker=formatchecker):
raise ArgumentError('Json schema validate failed')
if bl:
bl.before_app_first_request(params_validate_handler)
else:
sys.modules['flask'].app.before_app_first_request(params_validate_handler)
return params_validate_handler
评论列表
文章目录