接口开发中jsonschema的使用

Posted PLAY_JOY

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口开发中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方法

  

以上是关于接口开发中jsonschema的使用的主要内容,如果未能解决你的问题,请参考以下文章

接口测试框架实战| 搞定 Schema 断言

通过JSONSchema完成接口自动化测试的数据验证

python接口自动化34-json校验神器jsonschema

JsonSchema和JsonSchemaValidator

使用json-schema校验json数据

使用 JsonSchema 验证 API 的返回格式