为什么要在边界校验
信任边界处校验一次,比在每个函数里到处判空更省心。JSON Schema 把「这个字段必须存在、必须是数字、范围是多少」写成一份可机器校验的契约。
常用关键字
| 关键字 | 作用 |
|---|---|
| required | 必填字段 |
| type | 基础类型(string/number/object/array…) |
| format | 语义格式(email/date-time/uuid) |
| minimum / maximum | 数值范围 |
| pattern | 正则约束 |
两个坑
- Schema 不是安全边界:它挡不住业务逻辑漏洞和注入,SQL 注入仍要靠参数化查询;
- 别只校验类型:字符串长度、数组上限也要限,否则可能撑爆存储或内存。
动手试试
格式化与检查 JSON:JSON 格式化。