JSON Schema使用

JSON Schema 是用来定义和 校验 JSON 的Web 规范:用来检验 json 是否符合预期

针对 接口返回值校验时,

1.校验关键字段的值:可能会漏掉一些重要的字段/值

2.json返回值完整校验:如果返回的json 很长,那么就会很麻烦;

接口返回的字段对应的值每次可能是不同的--但同一个接口返回的字段名一定是不变的

校验接口返回值:

1.需要返回的字段是否都存在

2.保证数据的类型是正确的

1.下载 JSON Schema

2.使用 JSOn Schema

手写 json schema 很麻烦,所以可以从下面这个网址里 自动将 json 转换成 json schema

https://tooltt.com/json2schema/

3.JSON Schema数据类型

string---字符串类型,用于文本数据

number---数字类型,用于表示浮点数

integer--整型类型,用于表示整数

boolean---布尔类型,值为 true / false

object---对象类型,用于嵌套的 JSON 对象

array---数组类型,用于列表/集合

null---空值类型

4.最大值最小值

minimum 和 maximim :指定数值的最小值和最大值

exclusiveMinimum 和 exclusiveMaximum :指定数值 必须严格大于 或 小于 某个值

年龄为 : 20,限定年龄最大为 100,最小为 0;

5.字符串特殊校验

pattern:使用正则表达式来验证字符串是否符合特定的模式

例:\S 表示匹配字符

6.数组约束

minItems 和 maxItems :指定数组最小 和 最大长度

uniqueItems:确保数组中的元素是唯一的(默认情况:允许存在重复的数据)

items:定义数组中每个元素的类型和约束

minItems 和 maxItems

uniqueItems

7.对象约束

minProperties 和 maxProperties:指定对象的最小值和最大值数量

additionalProperties:控制是否允许对象中存在 未在 properties 中定义的额外属性,默认为:True;

虽然没有进行校验,但也并没有报错;所以当我们不想出现出现这种情况就可以使用约束

此时添加 additionalProperties 字段,并设置为 False 即可

additionalProperties 添加在哪里,就闲置的是哪个 层级的 字段

8.必须属性

添加必须属性

9.依赖关系

dependtRequired 可以定义属性之间的依赖关系;

相关推荐
战略性的菠萝8 分钟前
学习笔记-Numpy知识
python·numpy
总有刁民想爱朕ha14 分钟前
零基础Python开发「图片批量转MP4视频」工具,本地离线、免费无水印
开发语言·python·音视频
捧 花29 分钟前
FastAPI 基础语法:从一个完整接口理解 Web API 的设计
前端·python·fastapi·middleware
Ming_studying37 分钟前
Python批量压缩图片:支持JPG_PNG_WebP、尺寸限制与CSV报告
开发语言·图像处理·python·pillow·图片压缩
大熊背37 分钟前
ISP图像处理中大数乘法溢出处理(一)
人工智能·python·算法·溢出处理
何以解忧,唯有..42 分钟前
Python协程详解:从生成器到async/await的完整指南
开发语言·python
hhzz1 小时前
智慧校园13类视频异常检测:数据集与预训练模型全攻略
人工智能·pytorch·python·深度学习·目标检测·机器学习
浩腾数字多媒体1 小时前
如何判断专业电子留言厂家适配条件?
大数据·人工智能·python
会编程的吕洞宾1 小时前
DeepAgents In Action学习(Third)
python·学习·django
'2061 小时前
**写了个自动整理下载视频的脚本:按片名归档、自动重命名、生成目录索引
开发语言·python·ffmpeg·音视频·cctv