接口开发中jsonschema的使用

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方法

  

posted @ 2018-05-13 17:10  PLAY_JOY  阅读(272)  评论(0编辑  收藏  举报