此手册用于记录大数据开发与管理平台中,关系建模产品所有对外开放的OpenAPI,阅读此手册,你将了解关系建模产品开放的OpenAPI能力与调用方法。

一、 数据传输公共参数

1.1 响应格式

名称 类型 描述
code Number 响应码:非0表示失败。
reqId String 请求ID
cost Number 耗时,单位:ms
msg String 响应消息
result Object 响应结果

1.2 响应码

响应码 说明
1000 openapi请求参数为空!
1001 请求参数必须extends OpenapiBaseRequest
1002 参数[{}]不能为空
1003 获取用户[{}]信息失败
1004 用户[{}]不存在
1005 获取产品信息失败,产品[{}]!
1006 用户[{}]产品列表为空
1007 用户[{}]不在产品里, 产品[{}]!
1008 产品[{}]不存在

1.3 枚举列表

1.3.1 BizObjectTypeEnum
枚举值 类型 名称
SUBJECT String 一般目录
BUSINESS_OBJECT String 业务对象
1.3.2 BizObjectStatusEnum
枚举值 类型 名称
DRAFT String 草稿
PUBLISHED String 已上线
1.3.3 DataEntityTypeEnum
枚举值 类型 名称
TABLE String
ENTITY String 实体
1.3.4 SourceTypeEnum
枚举值 类型 名称
DDM String 数据来源于datablau
ERM String 数据来源于关系建模

1.4 参数实体

1.4.1 PageInfo

分页查询结果

字段 类型 描述
currentPage Number 当前页数,从1开始
pageSize Number 每页显示条数
count Number 总条数
contents Array < Object > 当前页结果
1.4.2 SimpleUserVO

用户信息

字段 类型 描述
email String 账号邮箱
fullName String 用户名
1.4.3 KeyValuePairVO

用户信息

字段 类型 描述
key String
value String
1.4.4 BizObjectBriefVO

用户信息

字段 类型 描述
id Long 业务对象ID
name String 业务对象名称
path String 业务对象全路径

1.5 响应实体列表

1.5.1 BizObjectTreeVO
字段 类型 描述
bizObjectId Long 主题域分组/主题域/业务对象唯一id
name String 任务名称
level Integer 当前节点层级:1:L1主题域分组,2:L2主题域, 3:L3业务对象
code String 当前节点编码
description String 当前节点
parentId Long 父节点唯一id
children List < BizObjectTreeVO > 当前节点的子节点

二、OpenAPI列表

2.1 OpenAPI总览

模块 名称 支持版本 状态 请求方法 请求路径
业务对象管理 业务对象目录树 v1.0.0 已发布 GET /erm/api/openapi/business-object/v1/directory/tree
业务对象管理 分页获取主题域分组/主题域/业务对象列表 v1.0.0 已发布 GET /erm/api/openapi/business-object/v1/list
业务对象管理 获取主题域分组/主题域/业务对象详情 v1.0.0 已发布 GET /erm/api/openapi/business-object/v1/detail
业务对象管理 分页获取业务对象下绑定的实体列表 v1.0.0 已发布 GET /erm/api/openapi/business-object/v1/entity/list
模型管理 分页获取实体下的属性(字段)列表 v1.0.0 已发布 GET /erm/api/openapi/entity/v1/column/list
模型管理 批量获取属性(字段)列表 v1.0.0 已发布 GET /erm/api/openapi/entity/v1/column/batch-get
2.1.1 业务对象目录树

GET /erm/api/openapi/business-object/v1/directory/tree 版本:1.0 描述:获取业务对象目录树 URL参数/请求体

名称 类型 描述 必须 默认值
pgId Number 项目组ID
keyword String 模糊搜索关键字L1、L2、L3都支持搜索,若子节点搜索命中,则保留其父目录结构

请求实例 curl -X GET http://easy-openapi.example.com/openapi/erm/api/openapi/business-object/v1/directory/tree?pgId=1&keyword=example 响应体

名称 类型 描述
code Number 响应码:非0表示失败。
reqId String 请求ID
msg String 响应消息
cost Number 耗时,单位:ms
result List < BizObjectTreeVO > 响应结果

BizObjectTreeVO

名称 类型 描述
bizObjectId Long 主题域分组/主题域/业务对象唯一ID
name String 任务名称
level Integer 当前节点层级:1:L1主题域分组,2:L2主题域, 3:L3业务对象
type BizObjectTypeEnum 当前节点类型:SUBJECT :一般目录BUSINESS_OBJECT :业务对象
bizObjectCode String 当前节点编码
description String 当前节点定义
parentId Long 父节点唯一ID
children List < BizObjectTreeVO > 当前节点的子节点

响应体实例

{
    "code": 0,
    "result": [
        {
            "bizObjectId": 1,
            "level": 1,
            "type": "SUBJECT",
            "name": "主题域分组1",
            "bizObjectCode": "RD-SG01",
            "description": "主题域分组1",
            "parentId": -1,
            "children": []
        },
        {
            "bizObjectId": 2,
            "level": 1,
            "type": "SUBJECT",
            "name": "主题域分组2",
            "bizObjectCode": "RD-SG02",
            "description": "主题域分组2",
            "parentId": -1,
            "children": [
                {
                    "bizObjectId": 3,
                    "level": 2,
                    "type": "SUBJECT",
                    "name": "主题域2-1",
                    "bizObjectCode": "RD-SD000001",
                    "description": "主题域分组2下的主题域1",
                    "parentId": 2,
                    "children": [
                        {
                            "bizObjectId": 4,
                            "level": 3,
                            "type": "BUSINESS_OBJECT",
                            "name": "业务对象1",
                            "bizObjectCode": "RD-BO000001",
                            "description": "主题域1下的业务对象1",
                            "parentId": 3,
                            "children": []
                        },
                        {
                            "bizObjectId": 5,
                            "level": 3,
                            "type": "BUSINESS_OBJECT",
                            "name": "业务对象2",
                            "bizObjectCode": "RD-BO000002",
                            "description": "主题域1下的业务对象2",
                            "parentId": 3,
                            "children": []
                        }
                    ]
                }
            ]
        }
    ],
    "reqId": "dd79bede2a2c490eac1992df64a4039b",
    "cost": 3
}
2.1.2 分页获取主题域分组/主题域/业务对象列表

GET /erm/api/openapi/business-object/v1/list 版本:1.0 描述:获取主题域分组/主题域/业务对象详情 URL参数/请求体

名称 类型 描述 必须 默认值
pgId Number 项目组ID
currentPage Number 当前页 1
pageSize Interger 每页大小 25
keyword String 模糊搜索关键字

响应体

名称 类型 描述
code Number 响应码:非0表示失败
reqId String 请求ID
msg String 响应消息
cost Number 耗时,单位:ms
result List < BizObjectDetailVO > 响应结果

BizObjectDetailVO

名称 类型 描述
bizObjectId Long 主题域分组/主题域/业务对象唯一ID
name String 中文名称
enName String 英文名称
type BizObjectTypeEnum 类型:SUBJECT :主题域分组/主题域BUSINESS_OBJECT : 业务对象
level Integer 层级:1:L1主题域分组2:L2主题域3:L3业务对象
bizObjectCode String 编码
description String 定义
creator SimpleUserVO 创建人
modifier SimpleUserVO 修改人
parentId Long 上级id
parentName String 上级中文名称
parentCode String 上级编码
version String 版本
createTime String 创建时间
updateTime String 更新时间
status BizObjectStatusEnum 业务对象状态:DRAFT : 草稿PUBLISHED : 已上线
dataOwner String 数据owner (主题域/业务对象)
dataOwnerDept String 数据owner部门 (业务对象)
dataSteward String 数据管家 (业务对象)
dataManager String 数据治理管理员(业务对象)
bizSourceSystem String 业务来源系统名称(业务对象)

响应体实例

{
    "code": 0,
    "result": {
        "count": 3,
        "currentPage": 1,
        "pageSize": 25,
        "contents": [
            {
                "bizObjectId": 1,
                "level": 1,
                "type": "SUBJECT",
                "name": "主题域分组1",
                "enName": "subject_group1",
                "bizObjectCode": "RD-SG01",
                "description": "业务对象测试1",
                "creator": {
                    "email": "abc@example.com",
                    "fullName": "张三"
                },
                "modifier": {
                    "email": "abc@example.com",
                    "fullName": "张三"
                },
                "createTime": "2024-05-23 15:05:41",
                "updateTime": "2024-05-23 15:05:41",
                "status": "DRAFT",
                "parentId": -1,
                "parentName": "",
                "parentCode": "RD-SD000001",
                "version": "v1.0",
                "dataOwner": "",
                "dataOwnerDept": "",
                "dataSteward": "",
                "dataManager": "",
                "bizSourceSystem": ""
            },
            {
                "bizObjectId": 12,
                "level": 2,
                "type": "SUBJECT",
                "name": "主题域1",
                "enName": "subject1",
                "bizObjectCode": "RD-SD000005",
                "description": "业务对象测试1",
                "creator": {
                    "email": "abc@example.com",
                    "fullName": "张三"
                },
                "modifier": {
                    "email": "abc@example.com",
                    "fullName": "张三"
                },
                "createTime": "2024-05-23 15:05:41",
                "updateTime": "2024-05-23 15:05:41",
                "status": "DRAFT",
                "parentId": 1,
                "parentName": "主题域分组1",
                "parentCode": "RD-SG01",
                "version": "v1.0",
                "dataOwner": "数据owner123",
                "dataOwnerDept": "",
                "dataSteward": "",
                "dataManager": "",
                "bizSourceSystem": ""
            },
            {
                "bizObjectId": 123,
                "level": 3,
                "type": "BUSINESS_OBJECT",
                "name": "业务对象1",
                "enName": "bizObject1",
                "bizObjectCode": "RD-BO000001",
                "description": "业务对象测试1",
                "creator": {
                    "email": "abc@example.com",
                    "fullName": "张三"
                },
                "modifier": {
                    "email": "abc@example.com",
                    "fullName": "张三"
                },
                "createTime": "2024-05-23 15:05:41",
                "updateTime": "2024-05-23 15:05:41",
                "status": "DRAFT",
                "parentId": 12,
                "parentName": "主题域1",
                "parentCode": "RD-SD000001",
                "version": "v1.0",
                "dataOwner": "数据owner123",
                "dataOwnerDept": "数据治理组",
                "dataSteward": "数据管家123",
                "dataManager": "数据治理管理员123",
                "bizSourceSystem": "业务来源系统123"
            }
        ]
    },
    "reqId": "eb34fc3a9b3f4e7eab4d71f0c11aa29a",
    "cost": 60
}
2.1.3 获取主题域分组/主题域/业务对象详情

版本:1.0 描述:获取主题域分组/主题域/业务对象详情 URL参数/请求体

名称 类型 描述 必须 默认值
pgId Number 项目组ID
bizObjectId Number 主题域分组/主题域/业务对象ID

请求实例

curl -X GET http://easy-openapi.example.com/openapi/erm/api/openapi/business-object/v1/detail?pgId=1&bizObjectId=11

响应体

BizObjectDetailVO

名称 类型 描述
bizObjectId Long 主题域分组/主题域/业务对象唯一ID
name String 中文名称
enName String 英文名称
type BizObjectTypeEnum 类型:SUBJECT :主题域分组/主题域BUSINESS_OBJECT : 业务对象
level Integer 层级:1:L1主题域分组2:L2主题域3:L3业务对象
bizObjectCode String 编码
description String 定义
creator SimpleUserVO 创建人
modifier SimpleUserVO 修改人
parentId Long 上级id
parentName String 上级中文名称
parentCode String 上级编码
version String 版本
createTime String 创建时间
updateTime String 更新时间
status BizObjectStatusEnum 业务对象状态:DRAFT : 草稿PUBLISHED : 已上线
dataOwner String 数据owner (主题域/业务对象)
dataOwnerDept String 数据owner部门 (业务对象)
dataSteward String 数据管家 (业务对象)
dataManager String 数据治理管理员(业务对象)
bizSourceSystem String 业务来源系统名称(业务对象)

响应体实例

{
    "code": 0,
    "result": {
        "bizObjectId": 123,
        "level": 3,
        "type": "BUSINESS_OBJECT",
        "name": "业务对象1",
        "enName": "bizObject1",
        "bizObjectCode": "RD-BO000001",
        "description": "业务对象测试1",
        "creator": {
            "email": "abc@example.com",
            "fullName": "张三"
        },
        "modifier": {
            "email": "abc@example.com",
            "fullName": "张三"
        },
        "createTime": "2024-05-23 15:05:41",
        "updateTime": "2024-05-23 15:05:41",
        "status": "DRAFT",
        "parentId": 12,
        "parentName": "主题域23",
        "parentCode": "RD-SD000001",
        "version": "v1.0",
        "dataOwner": "数据owner123",
        "dataOwnerDept": "数据治理组",
        "dataSteward": "数据管家123",
        "dataManager": "数据治理管理员123",
        "bizSourceSystem": "业务来源系统123"
    },
    "reqId": "9e9659ade5654c3585060d89813a7757",
    "cost": 6
}
2.1.4 分页获取业务对象下的实体列表

GET /erm/api/openapi/business-object/v1/entity/list 版本:1.0 描述:分页获取业务对象下的实体列表 URL参数/请求体

名称 类型 描述 必须 默认值
pgId Number 项目组ID
entityId Number 表/实体ID(不传表示返回所有实体属性列表)
currentPage Number 当前页 1
pageSize Interger 每页大小 25
keyword String 实体模糊搜索关键字

请求实例

curl -X GET http://easy-openapi.example.com/openapi/erm/api/openapi/business-object/v1/entity/list?bizObjectId=11&currentPage=1&pageSize=25&keyword=test

响应体 PageInfo

名称 类型 描述
currentPage Number 当前页数,从1开始
pageSize Number 每页显示条数
count Number 总条数
contents Array < DataEntityAttributeVO > 当前页结果

EntityDetailVO

名称 类型 描述
entityId Long实体ID
entityName String 实体中文名称
entityEnName String 实体英文名称
entityCode String 实体编码
entityVersion Long 实体版本号
description String 描述
entityType DataEntityTypeEnum 实体类型
tableNum Integer 关联表数量/物化表数量
createTime String 创建时间
updateTime String 更新时间
sourceType SourceTypeEnum 数据来源
sourceUrl String 数据来源链接
sourceId String 数据来源
ID customValuesList < KeyValuePairVO > 自定义属性
bizObjects List < BizObjectBriefVO > 当前实体绑定的业务对象列表

响应体实例

{
    "code": 0,
    "result": {
        "count": 2,
        "currentPage": 1,
        "pageSize": 25,
        "contents": [
            {
                "entityId": 35,
                "entityName": "用户",
                "entityEnName": "user_entity",
                "entityCode": "1397a138-86b1-4f5e-a1de-c40d1d897206",
                "entityVersion":1,
                "description": "aaas",
                "entityType": "ENTITY",
                "tableNum": 0,
                "createTime": "2024-05-23 15:31:20",
                "updateTime": "2024-05-24 10:45:30",
                "sourceType": "DDM",
                "sourceUrl": "http://example:18080",
                "sourceId": "8",
                "customValueObjects":[
                    {
                        "key":"自定义属性1",
                        "value":"值1"
                    },
                    {
                        "key":"自定义属性2",
                        "value":"值2"
                    }
                ],
                "bizObjects": [
                    {
                        "id": 46,
                        "name": "业务对象test",
                        "path": "主题域分组11/主题域23/业务对象test1"
                    }
                ]
            },
            {
                "entityId": 36,
                "entityName": "支付单实体2",
                "entityEnName": "paybill_entity2",
                "entityCode": "b258133a-e0b9-4fe2-8524-f68fa99539a4",
                "entityType": "ENTITY",
                "entityVersion":2,
                "tableNum": 0,
                "createTime": "2024-05-23 15:31:20",
                "updateTime": "2024-05-24 10:45:30",
                "sourceType": "DDM",
                "sourceUrl": "http://59.111.205.136:18080",
                "sourceId": "11",
                "customValueObjects":[
                    {
                        "key":"自定义属性3",
                        "value":"值3"
                    },
                    {
                        "key":"自定义属性4",
                        "value":"值4"
                    }
                ],
                "bizObjects": [
                    {
                        "id": 65,
                        "name": "业务对象test2",
                        "path": "主题域分组11/主题域23/业务对象test2"
                    }
                ]
            }

        ]
    },
    "reqId": "ebfd6b5230d64066aacac8b034c387fa",
    "cost": 22
}json
2.1.5 分页获取实体下的属性(字段)列表

GET /erm/api/openapi/entity/v1/column/list 版本:1.0 描述:分页获取实体下的属性(字段)列表 URL参数/请求体

名称 类型 描述 必须 默认值
pgId Number 项目组ID
entityId Number 表/实体ID(不传表示返回所有实体属性列表)
currentPage Number 当前页 1
pageSize Interger 每页大小 25
keyword String 实体模糊搜索关键字

请求实例

curl -X GET http://easy-openapi.example.com/openapi/erm/api/openapi/entity/v1/column/list?pgId=1&entityId=11&currentPage=1&pageSize=25&keyword=test

响应体

PageInfo

名称 类型 描述
currentPage Number 当前页数,从1开始
pageSize Number 每页显示条数
count Number 总条数
contents Array < DataEntityAttributeVO > 当前页结果

DataEntityAttributeVO

名称 类型 描述
id Long 字段/属性ID
name String 中文名称
enName String 英文名称
attributeCode String 字段编码
modelId Long 所属模型ID
tableEntityId Long 所属实体ID
dataType String 数据类型
description String 描述
dataElementDataElement SimpleVO 数据标准
dictDict SimpleVO 字典
primaryKey Boolean 是否主键
foreignKey Boolean 是否外键
notNull Boolean 是否非空
logicFlag Boolean 是否为逻辑字段
defaultValue String 默认值
customValues List < KeyValuePairVO > 自定义属性

DataElementSimpleVO

名称 类型 描述
id Long 字段/属性ID
nameCn String 中文名称
nameEn String 英文名称
identifier String 标识符

DictSimpleVO

名称 类型 描述
id Long 字段/属性ID
nameCn String 中文名称
nameEn String 英文名称
identifier String 标识符

响应体实例

{
    "code": 0,
    "result": {
        "count": 2,
        "currentPage": 1,
        "pageSize": 25,
        "contents": [
            {
                "id": 124,
                "name": "id",
                "enName": "id",
                "attributeCode": "jflsdjf",
                "modelId": 1,
                "tableEntityId": 1,
                "dataType": "LONG",
                "description": "primaryKey",
                "primaryKey": true,
                "foreignKey": false,
                "notNull": true,
                "logicFlag": false,
                "dataElement": {
                    "id": 64418,
                    "nameCn": "数据元素",
                    "nameEn": "DataElement",
                    "identifier": "DE123456"
                },
                "dict": {
                    "id": 65151,
                    "nameCn": "字典",
                    "nameEn": "Dictionary",
                    "identifier": "DICT789012"
                },
                "customValues": [
                    {
                        "key": "key1",
                        "value": "value1"
                    },
                    {
                        "key": "key2",
                        "value": "value2"
                    },
                    {
                        "key": "key3",
                        "value": "value3"
                    }
                ]
            },
            {
                "id": 125,
                "name": "金额",
                "enName": "amt",
                "modelId": 1,
                "tableEntityId": 1,
                "dataType": "LONG",
                "primaryKey": false,
                "foreignKey": false,
                "notNull": false,
                "logicFlag": false,
                "deleted": false,
                "defaultValue": "",
                "dataElement": {
                    "id": 98765,
                    "nameCn": "用户数据",
                    "nameEn": "UserData",
                    "identifier": "UD654321"
                },
                "dict": {
                    "id": 12345,
                    "nameCn": "配置字典",
                    "nameEn": "ConfigDictionary",
                    "identifier": "CD987654"
                },
                "customValues": [
                    {
                        "key": "key4",
                        "value": "value4"
                    }
                ]
            }
        ]
    },
    "reqId": "2ebbe3e07d34476fbb06e4785e2f6048",
    "cost": 18
}
2.1.6 批量获取属性(字段)列表

POST /erm/api/openapi/entity/v1/column/batch-get 版本:1.0 描述:分页获取实体下的属性(字段)列表 URL参数/请求体

名称 类型 描述 必须 默认值
pgId Number 项目组ID
columnIds List < Long > 属性(字段)ID列表

请求实例

curl -X POST 'http://easy-openapi.example.com/openapi/erm/api/openapi/entity/v1/column/batch-get' \
-H 'Content-Type: application/json' \
-d '{"pgId":65,"columnIds":[1,2,3]}'

响应体

PageInfo

名称 类型 描述
currentPage Number当前页数,从1开始
pageSize Number 每页显示条数
count Number 总条数
contents Array < DataEntityAttributeVO > 当前页结果
{
    "code": 0,
    "result": [
        {
            "id": 1,
            "name": "id",
            "enName": "id",
            "attributeCode": "jflsdjf",
            "modelId": 1,
            "tableEntityId": 1,
            "dataType": "varchar(10)",
            "description": "这是一个id",
            "dataElement": {
                "id": 3275,
                "nameCn": "值域有效性",
                "nameEn": "dfugdhdj",
                "identifier": "DE-00001838"
            },
            "primaryKey": true,
            "foreignKey": false,
            "notNull": true,
            "logicFlag": true
        },
        {
            "id": 2,
            "name": "名称",
            "enName": "name",
            "attributeCode": "jlsgjs",
            "modelId": 1,
            "tableEntityId": 1,
            "dataType": "varchar(64)",
            "description": "这是名称",
            "dataElement": {
                "id": 3278,
                "nameCn": "array测试",
                "nameEn": "arrayTest",
                "identifier": "DE-00001840"
            },
            "primaryKey": false,
            "foreignKey": false,
            "notNull": false,
            "logicFlag": true,
            "defaultValue": ""
        },
        {
            "id": 3,
            "name": "id",
            "enName": "id",
            "modelId": 10,
            "tableEntityId": 12,
            "dataType": "LONG",
            "description": "adadads",
            "primaryKey": false,
            "foreignKey": false,
            "notNull": false,
            "logicFlag": false,
            "defaultValue": "asad"
        }
    ],
    "reqId": "c854eb9cd1cf4e9dbb24408d4aa67737",
    "cost": 201
}