from operator import itemgetter
from flask import request, Response
from functools import partial
s = {
"a": 1,
"b": 2,
"c": {
"a": 1
}
}
cpd = itemgetter("a", "b", "c")
print(cpd(s))
def require(params_type, *param_args):
"""
校验必填参数的装饰器
"""
def decorator(fun):
def wraper(*args, **kwargs):
if params_type == "json":
params = request.json
elif params_type == "value":
params = request.values.to_dict()
else: # file
params = request.files.to_dict()
for item in param_args:
if item not in params:
return Response().error(msg=f"{item}为必传参数!")
return fun(*args, **kwargs)
return wraper
return decorator
json_require = partial(require, "json")
value_require = partial(require, "value")
file_require = partial(require, "file")
itemgetter和partial
最新推荐文章于 2024-07-21 22:27:18 发布