1.导入模块
import jsonschemafrom jsonschema import schemas,validatorsfrom 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 Falseverifi_obj = Validator(schema)# 可以单独写个py文件,data 为要验证的数据,调用validate方法
接口开发中jsonschema的使用
原文地址:https://www.cnblogs.com/songxiaohua/p/9032714.html