zoukankan      html  css  js  c++  java
  • 接口开发中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方法
    

      

  • 相关阅读:
    礼物
    Hibernate 笔记 HQL查询 条件查询,聚集函数,子查询,导航查询
    Hibernate get 和 load区别
    JS
    JS
    JS
    JS
    JS
    JS
    JS
  • 原文地址:https://www.cnblogs.com/songxiaohua/p/9032714.html
Copyright © 2011-2022 走看看