• 接口开发中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方法
    

      

  • 相关阅读:
    linux install zh_CN(ubuntu)
    gitweb随记
    gitolite随记
    gitosis随记
    python
    zsh-替换掉黑白的控制台
    Homebrew -- Mac软件管家(套件管理yun……)
    mac中遇到的mysql编码问题
    策略模式 -- 山不转水转
    WPF教程:附加属性
  • 原文地址:https://www.cnblogs.com/songxiaohua/p/9032714.html
Copyright © 2020-2023  润新知