脉冲云中使用的ajv

来源:互联网 发布:name.com怎么转出域名 编辑:程序博客网 时间:2024/05/16 00:30

在所有软件程序中,接口验证总是一个大难题,尤其是当数据特复杂的时候。

我们脉冲云使用了ajv,根据ajv我们可以很轻易的知道接口收到的数据是否正确。

今天,我们就讲一下ajv(Another JSON Schema Validator)。

什么是JSON Schema?它是一种基于JSON格式定义JSON数据结构的规范,详见http://json-schema.org

ajv可以运行在浏览器端,也可以运行在node端;在cli中也可使用ajv-cli

我们来看一个简单的例子

```js var Ajv = require('ajv'); var ajv = new Ajv({allErrors: true});

var schema = { "properties": { "foo": { "type": "string" }, "bar": { "type": "number", "maximum": 3 } } };

var validate = ajv.compile(schema);

test({"foo": "abc", "bar": 2}); test({"foo": 2, "bar": 4});

function test(data) { var valid = validate(data); if (valid) console.log('Valid!'); else console.log('Invalid: ' + ajv.errorsText(validate.errors)); }其运行结果为:shell Valid! Invalid: data.foo should be string, data.bar should be <= 3 ``` 其中,schema为定义的模式,它有两个属性,一个为foo,一个为bar

根据结果我们可以很轻易的就知道,验证的数据有两个,第一个为正确数据,第二个则为错误数据。

这个只是ajv中的最基本的用法,其它高级用法可以查看https://github.com/epoberezkin/ajv。

原创粉丝点击