from Utils.ErrorUtil import APIReturnError class RouteParamsCheck(object): """路由工具""" def __init__(self, req, params): self.req = req self.params = params if not isinstance(self.req, dict): assert False, "参数异常" def required(self): """必需参数检查""" if not isinstance(self.params, list): assert False, "参数异常" params_in_req_body = list(self.req.keys()) for param in self.params: if param not in params_in_req_body: error_info = "缺失必需参数: {}".format(param) raise APIReturnError(error_info=error_info, status_code=200) def enum(self): """枚举类型检查""" if not isinstance(self.params, dict): assert False, "参数异常" for k, v in self.params.items(): if self.req[k] not in v: error_info = "参数值错误: {}".format(k) raise APIReturnError(error_info=error_info, status_code=200)