外观
内容类型错误码(183*)
段位:183001 - 183999;当前 40 个;全部 V1 暴露
通用约定(HTTP status /
code=1兜底 / 响应结构)见 README经 V1 内容类型端点
/v1/contentTypes/*(读取与逐对象增删改 / 排序)、模型 Schema 导出/v1/schema/export、模型 Schema 导入/v1/schema/import,以及类型-字段绑定/v1/typeFieldBindings/*、类型-模板绑定/v1/typeTemplateBindings/*暴露。类型管理、类型-字段 / 类型-模板绑定已随建模域 V1 端点开放,对应校验码在 V1 暴露;类型切换、租户初始化相关码无对应 V1 端点,不在本参考范围。
183001 CONTENT_TYPE_CODE_REQUIRED
- HTTP status:200
- 含义:按 code 查询时
code不能为空 - 典型触发条件:调用按 code 查询内容类型的端点时未提供
code - 处理建议:提供非空的内容类型
code - 示例响应:
json
{ "code": 183001, "msg": "内容类型 code 不能为空", "data": null }183002 CONTENT_TYPE_TARGET_KIND_REQUIRED
- HTTP status:200
- 含义:按 code 查询时
targetKind不能为空 - 典型触发条件:按 code 查询内容类型时未提供
targetKind(区分容器类型 / 文档类型) - 处理建议:随
code一并提供targetKind - 示例响应:
json
{ "code": 183002, "msg": "内容类型 targetKind 不能为空", "data": null }183003 CONTENT_TYPE_NOT_FOUND
- HTTP status:200
- 含义:内容类型不存在
- 典型触发条件:按
typeId或code+targetKind解析内容类型失败 - 处理建议:核对内容类型标识;可先列举租户内的内容类型确认其存在
- 示例响应:
json
{ "code": 183003, "msg": "内容类型不存在", "data": null }183004 SCHEMA_EXPORT_TENANT_CONTEXT_MISSING
- HTTP status:200
- 含义:导出模型 Schema 时缺少租户上下文
- 典型触发条件:调用
/v1/schema/export时无法确定当前租户上下文 - 处理建议:确认调用携带了有效的租户上下文(正确的 token / 租户标识)后重试
- 示例响应:
json
{ "code": 183004, "msg": "无法获取当前租户上下文", "data": null }183005 SCHEMA_IMPORT_TENANT_CONTEXT_MISSING
- HTTP status:200
- 含义:导入模型 Schema 时缺少租户上下文
- 典型触发条件:调用
/v1/schema/import时无法确定当前租户上下文 - 处理建议:确认调用携带了有效的租户上下文(正确的 token / 租户标识)后重试
- 示例响应:
json
{ "code": 183005, "msg": "无法获取当前租户上下文", "data": null }183006 SCHEMA_IMPORT_PAYLOAD_REQUIRED
- HTTP status:200
- 含义:导入模型 Schema 时请求体为空
- 典型触发条件:调用
/v1/schema/import未提供导入内容(请求体缺失或为空) - 处理建议:提供完整的 Schema 导入内容(通常为
/v1/schema/export导出的整包)后重试 - 示例响应:
json
{ "code": 183006, "msg": "导入内容不能为空", "data": null }183007 SCHEMA_IMPORT_FORMAT_VERSION_INCOMPATIBLE
- HTTP status:200
- 含义:导入文件的格式版本与当前引擎不兼容
- 典型触发条件:导入内容声明的格式 major 版本与当前服务支持的不一致,整体被拒
- 处理建议:用与目标环境兼容的格式版本重新导出后再导入;导出文件带格式版本标识,导入前可据此判断兼容性
- 示例响应:
json
{ "code": 183007, "msg": "导入格式版本不兼容: 2(当前引擎支持 major=1)", "data": null }183008 SCHEMA_IMPORT_CONCURRENT
- HTTP status:200
- 含义:同一租户已有正在进行的 Schema 导入
- 典型触发条件:在上一次导入尚未完成时对同一租户再次发起导入
- 处理建议:Schema 导入按租户串行执行;待上一次导入完成后再重试
- 示例响应:
json
{ "code": 183008, "msg": "当前租户已有正在进行的 Schema 导入,请稍后重试", "data": null }183009 SCHEMA_IMPORT_CLIENT_TOKEN_REQUIRED
- HTTP status:200
- 含义:导入端点要求以 API Client 身份调用
- 典型触发条件:以纯代授权用户态(而非 API Client Token)调用
/v1/schema/import - 处理建议:以 API Client Token 上下文调用该接口(不要附加代授权用户身份)
- 示例响应:
json
{ "code": 183009, "msg": "仅允许 API Client Token 访问该接口", "data": null }183010 MODELING_CLIENT_TOKEN_REQUIRED
- HTTP status:200
- 含义:建模写端点要求以 API Client 身份调用
- 典型触发条件:以纯代授权用户态(而非 API Client Token)调用任一建模写端点(如
/v1/contentTypes/save|update|delete|sort、/v1/typeFieldBindings/*、/v1/typeTemplateBindings/*)。这是建模域所有写操作的通用前置 - 处理建议:以 API Client Token 上下文调用建模写接口(不要附加代授权用户身份)
- 示例响应:
json
{ "code": 183010, "msg": "仅允许 API Client Token 访问该接口", "data": null }183050 CONTENT_TYPE_CODE_EXISTS
- HTTP status:200
- 含义:内容类型编码已存在
- 典型触发条件:调用
/v1/contentTypes/save或/v1/contentTypes/update时,提交的code在同一适用目标(容器类型 / 文档类型)下已被占用 - 处理建议:更换未被占用的内容类型
code;同一适用目标下编码需唯一 - 示例响应:
json
{ "code": 183050, "msg": "内容类型编码已存在", "data": null }183051 PARENT_TYPE_NOT_FOUND
- HTTP status:200
- 含义:父类型不存在
- 典型触发条件:调用
/v1/contentTypes/save或/v1/contentTypes/update时,指定的父类型标识无法解析 - 处理建议:核对父类型标识;先确认父类型已存在再继承
- 示例响应:
json
{ "code": 183051, "msg": "父类型不存在", "data": null }183052 PARENT_TYPE_KIND_MISMATCH
- HTTP status:200
- 含义:父类型与当前类型的种类不一致,不允许跨种类继承
- 典型触发条件:创建 / 更新内容类型时,指定的父类型与当前类型分属不同种类(容器类型 / 文档类型)
- 处理建议:选择与当前类型同一种类的父类型;容器类型只能继承容器类型,文档类型只能继承文档类型
- 示例响应:
json
{ "code": 183052, "msg": "父类型种类与当前类型不一致", "data": null }183053 RETENTION_POLICY_DOCUMENT_ONLY
- HTTP status:200
- 含义:仅文档类型允许配置版本保留策略
- 典型触发条件:在容器类型上配置版本保留策略(
/v1/contentTypes/save|update) - 处理建议:仅在文档类型上配置版本保留策略;容器类型不携带保留策略
- 示例响应:
json
{ "code": 183053, "msg": "仅文档类型允许配置版本保留策略", "data": null }183054 ROOT_TYPE_PARENT_IMMUTABLE
- HTTP status:200
- 含义:根类型不允许修改父类型
- 典型触发条件:调用
/v1/contentTypes/update修改根类型的父类型 - 处理建议:根类型无父类型且不可变更;如需调整继承关系请在非根类型上操作
- 示例响应:
json
{ "code": 183054, "msg": "根类型不允许修改父类型", "data": null }183055 TARGET_PARENT_TYPE_NOT_FOUND
- HTTP status:200
- 含义:更新父类型时目标父类型不存在
- 典型触发条件:调用
/v1/contentTypes/update变更父类型,但指定的新父类型标识无法解析 - 处理建议:核对目标父类型标识,确认其存在后再重试
- 示例响应:
json
{ "code": 183055, "msg": "目标父类型不存在", "data": null }183056 SYSTEM_TYPE_NO_DELETE
- HTTP status:200
- 含义:系统内置类型不可删除
- 典型触发条件:调用
/v1/contentTypes/delete删除系统内置类型 - 处理建议:系统内置类型受保护、不可删除;仅可删除自定义类型
- 示例响应:
json
{ "code": 183056, "msg": "系统类型不可删除", "data": null }183057 TYPE_HAS_CHILDREN
- HTTP status:200
- 含义:该类型存在子类型,需先删除子类型
- 典型触发条件:调用
/v1/contentTypes/delete删除仍有子类型继承的类型 - 处理建议:先删除或迁移其全部子类型,再删除该类型
- 示例响应:
json
{ "code": 183057, "msg": "该类型存在子类型,请先删除子类型", "data": null }183058 TYPE_HAS_DOCUMENTS
- HTTP status:200
- 含义:该类型下仍存在文档,无法删除
- 典型触发条件:调用
/v1/contentTypes/delete删除仍被文档引用的类型 - 处理建议:先清理或迁移该类型下的文档,再删除该类型
- 示例响应:
json
{ "code": 183058, "msg": "该类型下存在文档,无法删除", "data": null }183059 TYPE_HAS_CONTAINERS
- HTTP status:200
- 含义:该类型下仍存在容器,无法删除
- 典型触发条件:调用
/v1/contentTypes/delete删除仍被容器引用的类型 - 处理建议:先清理或迁移该类型下的容器,再删除该类型
- 示例响应:
json
{ "code": 183059, "msg": "该类型下存在容器,无法删除", "data": null }183060 TYPE_SORT_CROSS_PARENT
- HTTP status:200
- 含义:排序项跨越多个父类型,无法在同一批内排序
- 典型触发条件:调用
/v1/contentTypes/sort时,提交的排序项分属不同父类型 - 处理建议:每批排序仅针对同一父类型下的同级类型;按父类型分批提交
- 示例响应:
json
{ "code": 183060, "msg": "排序项跨越多个父类型,无法在同一批内排序", "data": null }183061 TYPE_SORT_CROSS_KIND
- HTTP status:200
- 含义:排序项跨越多种类型种类,无法在同一批内排序
- 典型触发条件:调用
/v1/contentTypes/sort时,提交的排序项分属不同种类(容器类型 / 文档类型) - 处理建议:每批排序仅针对同一种类的类型;按种类分批提交
- 示例响应:
json
{ "code": 183061, "msg": "排序项跨越多种类型种类,无法在同一批内排序", "data": null }183062 TYPE_CYCLE_FORBIDDEN
- HTTP status:200
- 含义:不允许形成循环继承关系
- 典型触发条件:创建 / 更新内容类型时,指定的父类型会导致继承链形成环(如把某类型的后代设为其父类型)
- 处理建议:选择不会形成环的父类型;继承关系必须是无环的层级结构
- 示例响应:
json
{ "code": 183062, "msg": "不允许形成循环继承关系", "data": null }183063 RETENTION_MAX_VERSIONS_TOO_SMALL
- HTTP status:200
- 含义:版本保留上限取值过小
- 典型触发条件:配置版本保留策略时,保留版本数上限小于允许的最小值(2)
- 处理建议:将保留版本数上限设为不小于 2
- 示例响应:
json
{ "code": 183063, "msg": "版本保留上限取值过小,最小值为 2", "data": null }183064 RETENTION_DAYS_TOO_SMALL
- HTTP status:200
- 含义:版本保留天数取值过小
- 典型触发条件:配置版本保留策略时,保留天数小于允许的最小值(1)
- 处理建议:将保留天数设为不小于 1
- 示例响应:
json
{ "code": 183064, "msg": "版本保留天数取值过小,最小值为 1", "data": null }183072 TYPE_NOT_ACTIVE_FOR_FIELD_BINDING
- HTTP status:200
- 含义:类型未启用,无法绑定字段
- 典型触发条件:调用
/v1/typeFieldBindings/bind时,目标类型未处于启用状态 - 处理建议:先启用目标类型,再绑定字段
- 示例响应:
json
{ "code": 183072, "msg": "类型未启用,无法绑定字段", "data": null }183073 FIELD_NOT_ACTIVE_FOR_BINDING
- HTTP status:200
- 含义:字段未启用,无法绑定到类型
- 典型触发条件:调用
/v1/typeFieldBindings/bind时,待绑定的字段未处于启用状态 - 处理建议:先启用该字段,再绑定到类型
- 示例响应:
json
{ "code": 183073, "msg": "字段未启用,无法绑定到类型", "data": null }183074 TYPE_FIELD_ALREADY_BOUND
- HTTP status:200
- 含义:该字段已绑定到此类型
- 典型触发条件:调用
/v1/typeFieldBindings/bind重复绑定同一字段到同一类型 - 处理建议:该字段已绑定无需重复绑定;如需调整顺序 / 配置请改用
/v1/typeFieldBindings/update - 示例响应:
json
{ "code": 183074, "msg": "该字段已绑定到此类型", "data": null }183075 TYPE_FIELD_BINDING_FAILED
- HTTP status:200
- 含义:字段绑定失败,请稍后重试
- 典型触发条件:并发绑定同一类型-字段导致竞态,绑定未成功
- 处理建议:稍后重试;如持续失败请确认是否存在并发写入
- 示例响应:
json
{ "code": 183075, "msg": "字段绑定失败,请稍后重试", "data": null }183076 TYPE_FIELD_BINDING_NOT_FOUND
- HTTP status:200
- 含义:类型-字段绑定关系不存在
- 典型触发条件:调用
/v1/typeFieldBindings/unbind或/v1/typeFieldBindings/update时,指定的绑定关系不存在 - 处理建议:核对绑定标识;可先通过
/v1/typeFieldBindings/getByType列出该类型已有绑定确认 - 示例响应:
json
{ "code": 183076, "msg": "类型-字段绑定关系不存在", "data": null }183077 TYPE_FIELD_BINDING_UPDATE_FAILED
- HTTP status:200
- 含义:类型-字段绑定更新失败,绑定可能已被删除
- 典型触发条件:调用
/v1/typeFieldBindings/update时,目标绑定已被删除或被并发修改 - 处理建议:重新获取该类型的绑定列表后再更新;确认绑定仍存在
- 示例响应:
json
{ "code": 183077, "msg": "类型-字段绑定更新失败,绑定可能已被删除", "data": null }183078 TYPE_FIELD_BINDING_SORT_CROSS_TYPE
- HTTP status:200
- 含义:字段绑定排序项不属于当前类型
- 典型触发条件:调用
/v1/typeFieldBindings/sort时,提交的排序项中存在不属于当前类型的绑定 - 处理建议:每批排序仅包含同一类型下的字段绑定项
- 示例响应:
json
{ "code": 183078, "msg": "字段绑定排序项不属于当前类型", "data": null }183079 TYPE_FIELD_BINDING_CATEGORY_MISMATCH
- HTTP status:200
- 含义:请求声明的类型类别与该类型的适用目标不一致
- 典型触发条件:调用类型-字段绑定端点时,请求中声明的类型类别与目标类型实际的适用目标(容器类型 / 文档类型)不一致
- 处理建议:使类型类别与目标类型的实际适用目标一致后重试
- 示例响应:
json
{ "code": 183079, "msg": "类型类别与目标类型不一致", "data": null }183080 TYPE_FIELD_TARGET_CATEGORY_MISMATCH
- HTTP status:200
- 含义:字段的适用目标与类型类别不匹配
- 典型触发条件:调用
/v1/typeFieldBindings/bind时,待绑定字段的适用目标与目标类型的类别不匹配 - 处理建议:选择适用目标与该类型类别匹配的字段绑定
- 示例响应:
json
{ "code": 183080, "msg": "字段适用目标与类型类别不匹配", "data": null }183081 TYPE_TEMPLATE_ALREADY_BOUND
- HTTP status:200
- 含义:该模板已绑定到此类型
- 典型触发条件:调用
/v1/typeTemplateBindings/bind重复绑定同一模板到同一类型 - 处理建议:该模板已绑定无需重复绑定
- 示例响应:
json
{ "code": 183081, "msg": "该模板已绑定到此类型", "data": null }183082 TYPE_TEMPLATE_BINDING_NOT_FOUND
- HTTP status:200
- 含义:类型-模板绑定关系不存在
- 典型触发条件:调用
/v1/typeTemplateBindings/unbind时,指定的绑定关系不存在 - 处理建议:核对绑定标识;可先通过
/v1/typeTemplateBindings/getByType列出该类型已有绑定确认 - 示例响应:
json
{ "code": 183082, "msg": "类型-模板绑定关系不存在", "data": null }183083 TYPE_TEMPLATE_TARGET_CATEGORY_MISMATCH
- HTTP status:200
- 含义:模板的适用目标与类型类别不匹配,不能绑定
- 典型触发条件:调用
/v1/typeTemplateBindings/bind时,待绑定模板的适用目标与目标类型的类别不匹配 - 处理建议:选择适用目标与该类型类别匹配的模板绑定
- 示例响应:
json
{ "code": 183083, "msg": "模板适用目标与类型类别不匹配", "data": null }183084 TYPE_TEMPLATE_FIELD_CONFLICT
- HTTP status:200
- 含义:新模板与该类型同层已绑定模板存在字段冲突
- 典型触发条件:调用
/v1/typeTemplateBindings/bind时,新模板包含的字段与该类型同层已绑定模板的字段冲突 - 处理建议:解决字段冲突(调整模板字段或先解绑冲突模板)后再绑定
- 示例响应:
json
{ "code": 183084, "msg": "新模板与已绑定模板存在字段冲突", "data": null }183087 ENUM_VALUE_REQUIRED
- HTTP status:200
- 含义:枚举参数不能为空
- 典型触发条件:调用
/v1/typeFieldBindings/getByType或/v1/typeTemplateBindings/getByType时,类型类别等枚举参数未提供 - 处理建议:提供必填的枚举参数(如类型类别)后重试;具体参数名见返回消息
- 示例响应:
json
{ "code": 183087, "msg": "枚举参数不能为空", "data": null }183088 ENUM_VALUE_INVALID
- HTTP status:200
- 含义:枚举参数取值无效
- 典型触发条件:调用
/v1/typeFieldBindings/getByType或/v1/typeTemplateBindings/getByType时,类型类别等枚举参数取值不在允许范围内 - 处理建议:使用允许的枚举取值(如有效的类型类别)后重试;具体参数名与取值见返回消息
- 示例响应:
json
{ "code": 183088, "msg": "枚举参数取值无效", "data": null }