1.导入模块
import jsonschema
from jsonschema import schemas,validators
from jsonschema.validators import Draft4Validator
2.自定义参数校验规则
schema = {
'description': '对请求json数据参数进行校验',
'type': 'object',
'properties': {
'sender': {
'type': 'string',
},
'msgtype': {
'type': 'string'
},
'receiver': {
'type': 'string'
},
'msg': {
'type': 'object',
'content': {'type': 'string'},
'required': ['type', 'content']
}
},
'required': ['sender', 'receiver', 'msg']
}
3.具体使用
class Validator(object):
def __init__(self, name):
self.schema = name
checker = jsonschema.FormatChecker()
self.validator = validators.Draft4Validator(self.schema,format_checker=checker)
def validate(self,data):
try:
self.validator.validate(data)
return True
except jsonschema.ValidationError as ex:
raise Exception(ex.message)
# return False
verifi_obj = Validator(schema)
# 可以单独写个py文件,data 为要验证的数据,调用validate方法