api-datamanager/Utils/RouteUtil.py

36 lines
1.0 KiB
Python

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)