如何使用avj和postman验证json模式
我正在尝试验证以下json,如下所示:如何使用avj和postman验证json模式,postman,ajv,Postman,Ajv,我正在尝试验证以下json,如下所示: { "errors": false, } 在邮递员身上使用: var Ajv = require('ajv'), ajv = new Ajv({logger: console, coerceTypes: false}), schema = { "errors": { "type": "number" } }; pm.test('Schema is
{
"errors": false,
}
在邮递员身上使用:
var Ajv = require('ajv'),
ajv = new Ajv({logger: console, coerceTypes: false}),
schema = {
"errors": {
"type": "number"
}
};
pm.test('Schema is valid', function() {
var error = pm.response.json()['errors'];
console.log("this is error: " +error);
pm.expect(ajv.validate(schema, {errors: error})).to.be.true;
});
pm.test('Schema is valid different way', function() {
var error = pm.response.json()['errors'];
console.log("this is error: " +error);
var validate = ajv.compile(schema);
pm.expect(validate(pm.response.json())).to.be.true;
});
但它总是在传递,即使我的错误对象是布尔值而不是数字。我做错了什么
注意:日志如下所示
this is error: false
您可以在Postman中使用avj检查json模式,如下所示:
var Ajv = require('ajv'),
ajv = new Ajv({logger: console}),
schema = {
"properties": {
"errors": {
"type": "boolean"
}
}
};
pm.test('Schema is valid', function() {
var error = pm.response.json()['errors'];
pm.expect(ajv.validate(schema, {errors: error})).to.be.true;
});
数据:
结果:通过
数据:
结果:通过
数据:
结果:失败
另一条路
pm.test('Schema is valid', function() {
pm.expect(typeof(pm.response.json().errors) === "boolean").to.be.true;
});
你没有抓住重点。。数据是一个布尔值,我想验证它是否是布尔值,如果是number@abbood,谢谢,答案更新。让我知道我还是错过了什么!
{
"errors": true
}
{
"errors": 123
}
pm.test('Schema is valid', function() {
pm.expect(typeof(pm.response.json().errors) === "boolean").to.be.true;
});