百积木文档
开发指南类型系统

类型系统

Type14 数据声明统一采用 JSON Schema 2020-12,接口、精确引用与版本治理使用平台契约。

本章是百积木公共类型系统的统一规范入口。当前公共类型库为 baijimu-types 14.0.0,共享 Type Definition 文档协议为 schemaVersion: "5.0.0"。资源自己的 semanticVersion 与这两个版本相互独立。

数据声明统一采用 JSON Schema 2020-12。新版作者输入不再接受旧 DataType、Map 或数据 RefType;接口、方法、事件与服务绑定仍由平台模型描述。Type13 退役与历史资源迁移见兼容性与迁移,不能仅因公共库已发布就认为所有服务已完成切换。

按问题查规范

问题权威章节
任意 JSON、对象开放性、数组、字典、组合与约束数据类型
必填、null 和默认值必填、可空与默认值
Interface 的方法、事件和接口容器接口与方法
共享文档、数据引用、接口引用和 Module 导入命名类型与精确引用
兼容方向、历史消费者和迁移兼容性与迁移

数据、接口与资源

层次示例作用
标准数据 Schema{"type":"string"} 或 true描述允许的 JSON 值
混合 Type 位置的数据声明{"@type":"JsonSchema","schema":{"type":"string"}}在同一 Type 容器中区分数据和接口
可调用契约Interface、MethodDefinition描述方法、事件和调用签名
引用值ServiceReference绑定实现接口的服务,不是类型声明
共享类型资源Type Definition 的精确版本管理身份、命名、发布与授权

公共 Type 变体为 JsonSchema、Interface、InterfaceMap、InterfaceList、MethodDefinition、RefType。其中 RefType 仅用于接口引用;数据引用在 schema 内使用标准 $ref。

参数、返回值等接受完整 Type 的位置使用 JsonSchema 包装;包装内的 schema、properties、items、$defs 和组合分支都是标准 Schema,不再逐层加平台 @type。共享文档的 dataSchema 直接承载一个标准 Schema 资源。

与其他规范的关系

本地 Connector 的 payload_schema 等明确接收 JSON Schema 的字段直接填写 Schema,不加混合 Type 包装。某个消费者可以限制可接受的 Schema 能力,但必须明确拒绝不支持的声明,不能静默改写其含义。

本页内容