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

我们脉冲云使用了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。

脉冲云中使用的ajv相关推荐

  1. 苹果如何使用神经网络在点云中做对象检测

    苹果发明了一种神经网络系统,可以从由LIDAR传感器生成的点云中分离出对象. \\ 不久之前,苹果进军无人驾驶领域.不过,关于他们的汽车,我们了解的并不多.许多正在研发自动驾驶汽车的公司都使用所谓的L ...

  2. linux输出指定数量脉冲,ESM335x Linux输出脉冲计数

    关键词:Linux,脉冲计数,ESM335x 作者:emtronix 摘要:ESM335X具有4路PWM输出,其中PWM1和PWM2除了可以用于产生标准的PWM信号,现已支持输出脉冲计数功能,可以在应 ...

  3. 估计点云中的曲面法线

    曲面法线是几何表面的重要属性,并且在诸如计算机图形应用的许多领域中被大量使用,应用在矫正光源产生的阴影和其他的视觉效果. 给定几何表面,通常用垂直于曲面的向量来推断曲面上某一点法线的方向是很简单的.然 ...

  4. 计算机鹅点云,CVPR 2020 | 用于点云中3D对象检测的图神经网络

    论文原文:Point-GNN: Graph Neural Network for 3D Object Detection in a Point Cloud 论文地址:https://www.amine ...

  5. 脉冲神经网络在目标检测的首次尝试,性能堪比CNN | AAAI 2020

    译者 |  VincentLee 来源 | 晓飞的算法工程笔记 脉冲神经网络(Spiking neural network, SNN)将脉冲神经元作为计算单元,能够模仿人类大脑的信息编码和处理过程.不 ...

  6. IBM首家发布了公有云中的裸机Kubernetes

    \ 看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料! \ \\ IBM首家向工业界提供了裸机Kubernetes托管服务.使用该服务,开发人员和数据科学团队 ...

  7. 在云中进行灾难恢复的五种有效方式

    云中灾难恢复的五种方法可以帮助企业改进防止数据丢失和停机并从中恢复,同时可以确保满足服务等级协议(SLA). 事实表明,云中灾难恢复的五种方法可以帮助企业改进防止数据丢失和停机并从中恢复,同时可以确保 ...

  8. C#给串口设备发送脉冲指令。DTR和RTS指令

    之前,硬件工程师和我说:你给我发个脉冲指令,我触发一下. 我:???(黑人问号脸)脉冲指令是什么 他:就是一个点,给我触发一下. 我:????一个点???什么点?你要告诉我发什么指令内容过去啊 他:就 ...

  9. CVPR 2021 | RfD-Net: 从点云中重建三维物体实例

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 基于点云的场景理解是目前特别具有挑战性的任务,本文作者提出了一种从三维场景点云中重建高精度物体网格的学 ...

  10. 浅谈三维点云中的几何语义

    前言: 本文介绍了点云中不可忽视的一项重要属性--几何语义,并尝试根据自己的理解和实践经验对其进行一些归纳总结,可能有些地方有理解有误,请大家抱着批判的态度学习. 正文: 关于点云的悠久历史本文不过多 ...

最新文章

  1. 随时间的反向传播算法 BPTT
  2. 关于warning: Clock skew detected. Your build may be incomplete. 的解决方法【转】
  3. 什么是编译型和解释型语言?
  4. php wdatepicker,WdatePicker时间控件的使用
  5. 等产量曲线中r_微观经济学第四章练习题
  6. (42)FPGA四种常用逻辑门(同或门)
  7. (c语言)将一个数组逆序输出
  8. VMware vs openStack对比直观优势
  9. ThinkPHP的RBAC权限控制
  10. python3捕获异常_Python 异常处理和捕获信息教程|python3教程|python入门|python教程
  11. web of science,SSCI索引,带你入门!
  12. vbs脚本巡检windows主机
  13. 计算机二级 Excel常用函数公式总结
  14. 自己用GO语言编写的AliDDNS动态域名更新服务,routeros
  15. 计算机安全中心无法启动,如何解决Win10无法启动Windows安全中心服务问题
  16. 骑士cms任意代码执行(CVE-2020-35339)
  17. svn设置文件提交过滤
  18. 粒子群算法的matlab实现(一)
  19. 【数论】狄利克雷卷积
  20. github搭建自己的博客网站

热门文章

  1. Tautology POJ - 3295
  2. Ardusub源码解析学习(五)——从manual model开始
  3. P4官方实验4. Explicit congestion notification
  4. 播布客 视频教学文件下载方法
  5. 初探前端微服务——single-spa
  6. linux忘记git库密码,忘记gitlab的root密码
  7. uva10056(概率+等比求和)
  8. 三次握手 resend
  9. 场景识别论文阅读感想(初步)
  10. Linux elf可执行文件加密