码迷,mamicode.com
首页 > Web开发 > 详细

接口开发中jsonschema的使用

时间:2018-05-13 18:02:13      阅读:397      评论:0      收藏:0      [点我收藏+]

标签:mat   required   raft   sage   import   imp   验证   导入   init   

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

  

接口开发中jsonschema的使用

标签:mat   required   raft   sage   import   imp   验证   导入   init   

原文地址:https://www.cnblogs.com/songxiaohua/p/9032714.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!