1. 创建关系类

创建关系类。

请求方式:POST

请求地址:/bosfoundationservice/{appKey}/datamodel/insert/edge

1.1. 请求参数:

Headers:

参数名 类型 示例 是否必填 参数含义
Authorization string c4570cb9ca324bc8ba7dd9d1967710ea access_token

PathParas:

参数名 类型 示例 是否必填 参数含义
NULL NULL NULL NULL NULL

SearchParas:

参数名 类型 示例 是否必填 参数含义
NULL NULL NULL NULL NULL

Body:

application/json:

{
    "classDefinition": {
        "classDescription": "新建关系类测试", #描述信息
        "relType": "测试-文档", #必填项,关系类说明,一般是“左对象类名-右对象类名”,不可重复
        "className": "uirTestDocument", #必填项,类名,不可重复,对应数据的bosclass
        "parentKey": "relationship", #relationship表示基类,其他为父类className,不传默认relationship
        "collection": "uirTestDocument", #保存实例数据的表名
        "leftObjectClass": "uoTest",  #必填项,左对象className
        "rightObjectClass": "documents", #必填项,右对象className
        "baseclass": "relationship",#基础类型,relationship-关系类
        "ratio": "N:N" #数据关系模式,默认N:N
    }
}

1.2. 参数说明:

参数名 类型 示例 是否必填 参数含义
NULL NULL NULL NULL NULL

1.3. 正确返回:

(Http Status Code:200{
    "message": "请求处理成功",
    "code": "SUCCESS",
    "data": {
        "success": true,
        "attributeGroup": [],
        "_rev": "_cVzUlhG---",
        "_id": "class_object/uirTestDocument",
        "_key": "uirTestDocument",
        "classDefinition": {
            "baseclass": "relationship",
            "type": "edge",
            "userDefined": true,
            "ratio": "N:N",
            "className": "uirTestDocument",
            "rightObjectClass": "documents",
            "leftObjectClass": "uoTest",
            "collection": "uirTestDocument",
            "parentKey": "relationship",
            "classDescription": "新建关系类测试"
        }
    }
}

1.4. 错误返回:

状态码 code message data 原因
200 USER_ADMINPERMISSION_REQUIRED 当前用户非用户管理员 NULL 操作用户不是应用管理员
200 OBJECT_REQUIREDFIELD_EMPTY {XXX}属性必填 NULL ClassDefinition必填字段className/relType/leftObjectClass/rightObjectClass缺失
200 CLASSNAME_EXIST className({ClassName})已存在 NULL ClassName已存在
200 RELTYPE_EXIST relType({relType})已存在 NULL relType已存在
200 COLLECTION_EXIST Collection({collection})已存在 NULL 创建基类的collection已存在
200 CREATE_COLLECTION_FAILED 创建collection{collection}失败 NULL 创建Collection失败
200 OBJECT_FIELD_DATA_WRONG baseclass属性数据错误 NULL baseclass值错误
200 PARENT_TYPE_ERROR 父类{parentKey}类型错误 NULL parentKey父对象类不是关系类
200 ENTITY_BOSCLASS_NOTFOUND 实体类{bosclass}不存在 NULL leftObjectClass或rightObjectClass不是object但是不存在
200 RELATION_LEFT_CLASS_TYPE_ERROR 左对象类型错误,不是实体类 NULL leftObjectClass不是实体类
200 RELATION_RIGHT_CLASS_TYPE_ERROR 右对象类型错误,不是实体类 NULL rightObjectClass不是实体类
200 RELATIONSHIP_BOSCLASS_NOTFOUND 关系类{parentKey}不存在 NULL parentKey类不存在
200 RELATION_LEFT_CLASS_TYPE_ERROR 左对象类型错误,不是{xxx}子孙类 NULL 创建关系子类,左对象类不是父类的左对象类或其子孙类
200 RELATION_RIGHT_CLASS_TYPE_ERROR 右对象类型错误,不是{xxx}子孙类 NULL 创建关系子类,右对象类不是父类的右对象类或其子孙类

1.5. 注意事项:

  1. 只有应用管理员可以创建关系类。
  2. 用户自定义关系类以uir开头。
  3. 创建关系类基类默认有bosclass和code两个属性。
  4. 创建子关系类的左右对象类分别是父关系类的左右对象类或其子类,当父类的左/右对象类是Object时,子类对应的左/右对象可以是任意实体类。
  5. 创建子关系类继承父关系类的所有属性和属性组。
  6. 创建基类如果没有传collection,collection与className相同。
  7. 创建子类collection与父类相同。
  8. 创建子类时,子类的左/右对象类必须是父关系类的左/右对象或其子孙类。
  9. 创建子类时,当父类的左/右对象类为object时,子类的左/右对象类可以是任意实体类。
版权所有@盈嘉互联(北京)科技有限公司 京ICP备15051988号-9 Copyright © 2022 all right reserved,powered by Gitbook该文件修订时间: 2022-05-16 19:01:04

results matching ""

    No results matching ""