工作空间 / 从 JSON 样本生成类型,还缺哪些确认

从 JSON 样本生成类型,还缺哪些确认

把生成结果当作草稿,用接口契约和反例补齐类型。

问题场景

把一条正常的接口响应生成 TypeScript 类型后,线上遇到空值还是报错。样本生成的类型应该如何补全?

排查与解法按顺序复现、定位和验证

一个样本只说明一次结果

字段这次没有出现,不代表永远不存在;这次数值为整数,不代表所有响应都没有小数。生成器只能根据样本推断,不能替你确认完整业务契约。

补齐可选与可空

TypeScript 的可选属性与可空属性表达不同约束。开启严格类型检查后,分别处理缺失与 null;Java 包装类型与基本类型也需结合反序列化和校验约束确认。

type User = {
  id: string;
  nickname?: string | null;
};

检查数组和边界字段

空数组没有提供元素类型证据。多种对象可能需要联合类型;金额和长 ID 不应仅按当前样本推断成浮点数。日期字符串也不会因为像日期就自动成为 Date 实例。

用契约和测试收尾

收集正常、空值、缺字段、分页为空和错误返回样本,对照 OpenAPI 或接口文档审核。编译通过后,还需运行时校验不受信输入,类型声明本身不会检查网络返回内容。