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

  

转载于:https://www.cnblogs.com/songxiaohua/p/9032714.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值