JSON Schema 编写最佳实践
生成只是第一步,写好才是关键。这 8 条来自踩坑经验。
1. required 别乱标
工具默认把所有「见到的字段」都标必填。真实场景里很多字段可选——只把真正缺了就跑不起来的标进 required。
2. additionalProperties 设 false
对象加了 "additionalProperties": false,数据多出未声明字段会直接校验失败,能尽早发现「接口偷偷加字段」。
3. 数组元素一定要约束
items: {} 等于「任意值」。尽量写明元素类型,数组是对象时把 properties 写全。
4. 带上 $schema 版本
声明 "$schema": "http://json-schema.org/draft-07/schema#",校验器才知道用哪套规则。
5. 用 $ref 复用结构
同一份「用户结构」在多个接口出现时,抽成 definitions 再用 $ref 引用,改一处全局生效。
6. 枚举优于裸字符串
状态字段用 enum 锁死取值范围,比注释「只能是 a/b/c」靠谱得多。
7. 数字加边界
年龄、金额这类用 minimum/maximum 兜底,防脏数据。
8. 样例要完整
用工具反推时,样例覆盖越全,Schema 越接近真结构。空数组、可空字段都摆出来。