跳到主要内容

数据源管理API

简介:数据源管理API

前置准备,请参考文档

常见参数说明

HOST:https://{envId}.ap-shanghai.tcb-api.tencentcloudapi.com

envType: 正式环境prod,体验环境pre

创建数据源记录

接口地址:/weda/odata/v1/{envType}/{datasourceName}

请求方式:POST

请求数据类型:application/json

响应数据类型:*/*

请求示例:

{
"name": "李四",
"course": "体育",
"score": 89,
"semester": "第二学期"
}

如果存在数组或者对象

{
"test_array": "[\"123\"]",
"test_object": "{\"key\":\"value\"}"
}

请求参数:

参数名称参数说明请求类型是否必须数据类型示例
X-Request-Id请求requestIdheadertruestringeg: xxx
envType环境类型,pre预览环境,prod正式环境pathtruestringeg: prod或者pre
datasourceName数据源标识pathtrueeg: student_bky05o0
创建记录对象字段标识和字段值对象bodytrue创建记录对象eg:{"name":"李四","course":"体育","score":89,"semester":"第二学期"}

响应状态:

状态码说明
201创建成功

响应参数:

参数名称参数说明类型schema
创建记录对象字段标识和字段值对象创建记录对象字段标识:字段值
_id记录idstring

响应示例:

{
"@odata.context": "$metadata#student_bky05o0",
"_id": "5b049cc8621c7f040ea751850b63e442",
"createdAt": 1646034692306,
"updatedAt": 1646034692306,
"owner": "1463080581028851713",
"createBy": "1463080581028851713",
"updateBy": "1463080581028851713",
"_departmentList": "[]",
"name": "李四",
"course": "体育",
"score": 89.0,
"semester": "第二学期"
}

更新数据源记录

接口地址:/weda/odata/v1/{envType}/{datasourceName}('{recordId}')

请求方式:PATCH

请求数据类型:application/json

响应数据类型:*/*

请求示例:

{
"name": "李四",
"course": "体育",
"score": 89,
"semester": "第二学期"
}

如果存在数组或者对象

{
"test_array": "[\"123\"]",
"test_object": "{\"key\":\"value\"}"
}

请求参数:

参数名称参数说明请求类型是否必须数据类型示例
X-Request-Id请求requestIdheadertruestringeg: xxx
envType环境类型,pre预览环境,prod正式环境pathtruestringeg: prod 或者 pre
datasourceName数据源标识pathtrueeg: student_bky05o0
recordId数据标识idpathtrueeg: 5b049cc8621c7f040ea751850b63e442
更新记录对象字段标识和字段值对象bodytrue更新记录对象eg: {"score":99}

响应状态:

状态码说明
204更新成功

响应参数:

暂无

查询数据源记录

接口地址:/weda/odata/v1/{envType}/{datasourceName}('{recordId}')

请求方式:GET

请求数据类型:application/json

响应数据类型:*/*

请求参数:

参数名称参数说明请求类型是否必须数据类型示例
X-Request-Id请求requestIdheadertruestringeg: xxx
envType环境类型,pre预览环境,prod正式环境pathtruestringeg: prod 或者 pre
datasourceName数据源标识pathtrueeg: student_bky05o0
recordId数据标识idpathtrueeg: 5b049cc8621c7f040ea751850b63e442

响应状态:

状态码说明
200查询成功

响应参数:

参数名称参数说明类型schema
记录对象字段标识和字段值对象记录对象字段标识:字段值
_id记录idstring

响应示例:

{
"@odata.context": "$metadata#student_bky05o0",
"_id": "5b049cc8621c7f040ea751850b63e442",
"createdAt": 1646034692306,
"updatedAt": 1646034692306,
"owner": "1463080581028851713",
"createBy": "1463080581028851713",
"updateBy": "1463080581028851713",
"_departmentList": "[]",
"name": "李四",
"course": "体育",
"score": 89.0,
"semester": "第二学期"
}

如果存在数组或者对象

{
"@odata.context": "$metadata#student_bky05o0",
"_id": "5b049cc8621c7f040ea751850b63eb92",
"createdAt": 1646034692311,
"updatedAt": 1646034692311,
"owner": "1463080581028851713",
"createBy": "1463080581028851713",
"updateBy": "1463080581028851713",
"_departmentList": "[]",
"name": "李四",
"course": "体育",
"score": 89.0,
"semester": "第二学期",
"test_array": "[\"123\"]",
"test_object": "{\"key\":\"value\"}"
}

根据filter查询数据源记录

接口地址:/weda/odata/v1/{envType}/{datasourceName}

请求方式:GET

请求数据类型:application/json

响应数据类型:*/*

请求参数:

参数名称参数说明请求类型是否必须数据类型示例
X-Request-Id请求requestIdheadertruestringeg: xxx
envType环境类型,pre预览环境,prod正式环境pathtruestringeg: prod 或者 pre
datasourceName数据源标识pathtruestringeg: student_bky05o0
$filter查询条件, $filter中判断条件包含: eq:等于, gt:大于, lt:小于, ge:大于等于, le:小于等于, ne:不等于, contains():包含, 其中 contains() 用法为 $filter=contains(name, '张'),注意:如果 or 和 and 并用,优先级高的需要加括号,用法为(age gt 1 and age lt 10) or age eq 20queryfalsestringeg: $filter=contains(name,'张三') and name eq '张三' and score gt 60
$skip跳过N条记录queryfalseintegereg: $skip=0
$top查询N条记录queryfalseintegereg: $top=10
$orderby排序字段,$orderby 排序支持:desc和asc模式, 例如需要按某字段顺序排列$orderby=age ascqueryfalsestringeg: orderby=score desc
$count获取数据总数queryfalsebooleaneg: $count=true
$select需要查询的字段列表,用逗号分隔。默认查询所有字段queryfalsebooleaneg: $select=_id,owner
NotQueryRelateDepartment不去查询关联部门queryfalsebooleaneg: NotQueryRelateDepartment=true
ResultWithRelation查询关联关系数据。默认falsequeryfalsebooleaneg: ResultWithRelation=true

注意点:

  • 当您的查询不依赖_departmentList时候,可以将NotQueryRelateDepartment=true,可以大大加快查询速度。尤其是查询用户sys_user和部门sys_department相关表时。
  • 可以使用$select来选择需要的字段,从而提升查询速度。在ResultWithRelation=true的情况下尤其要加上字段选择,否则可能会导致页面加载变慢。

响应状态:

状态码说明
200查询成功

响应参数:

参数名称参数说明类型schema
value字段标识和字段值对象列表array记录列表

响应示例:

{
"@odata.context": "$metadata#student_bky05o0",
"@odata.count": 1,
"value": [
{
"_id": "287a53aa61af01df00dc957a79c1ab3b",
"createdAt": 1638859231940,
"updatedAt": 1638859231940,
"owner": "1468105174530121729",
"createBy": "1468105174530121729",
"updateBy": "1468105174530121729",
"_departmentList": "[]",
"name": "二蛋",
"course": "语文",
"score": 77,
"semester": "第一学期"
}
]
}

如何使用不同条件Filter

参数名称参数说明请求类型是否必须数据类型示例
$filter查询条件queryfalsestringeg: zdbh eq '1000'

eq/ne

对于字符串类型

示例:

https://lowcode-xxxx.ap-shanghai.tcb-api.tencentcloudapi.com/weda/odata/v1/pre/xxxx?$filter=zdbh eq '1000'

https://lowcode-xxxx.ap-shanghai.tcb-api.tencentcloudapi.com/weda/odata/v1/pre/xxxx?$filter=zdbh ne '1000'

对于数字类型

https://lowcode-xxxx.ap-shanghai.tcb-api.tencentcloudapi.com/weda/odata/v1/pre/xxxx?$filter=sz eq 34.23

对于布尔值类型

示例:

https://lowcode-xxxx.ap-shanghai.tcb-api.tencentcloudapi.com/weda/odata/v1/pre/xxxx?$filter=boolValue eq true

https://lowcode-xxxx.ap-shanghai.tcb-api.tencentcloudapi.com/weda/odata/v1/pre/xxxx?$filter=boolValue ne false

gt/lt/ge/le

对于数字类型

https://lowcode-xxxx.ap-shanghai.tcb-api.tencentcloudapi.com/weda/odata/v1/pre/xxxx?$filter=sz le 34.23

and/or

https://lowcode-xxxx.ap-shanghai.tcb-api.tencentcloudapi.com/weda/odata/v1/pre/xxxx?$filter=zdbh eq '1000' or zdbh eq '1101'

删除数据源记录

接口地址:/weda/odata/v1/{envType}/{datasourceName}('{recordId}')

请求方式:DELETE

请求数据类型:application/json

响应数据类型:*/*

请求参数:

参数名称参数说明请求类型是否必须数据类型示例
X-Request-Id请求requestIdheadertruestringeg: xxx
envType环境类型,pre预览环境,prod正式环境pathtruestringeg: prod 或者 pre
datasourceName数据源标识pathtrueeg: student_bky05o0
recordId数据标识idpathtrueeg: 287a53aa61af01df00dc957a79c1ab3b

响应状态:

状态码说明
204删除成功

响应参数:

暂无

批量创建数据源记录

接口地址:/weda/odata/v1/batch/{envType}/{datasourceName}

请求方式:POST

请求数据类型:application/json

响应数据类型:*/*

请求示例:

{
"value": [
{
"name": "二蛋",
"course": "语文",
"score": 77,
"semester": "第一学期"
}
]
}

请求参数:

参数名称参数说明请求类型是否必须数据类型示例
X-Request-Id请求requestIdheadertruestringeg: xxx
envType环境类型,pre预览环境,prod正式环境pathtruestringeg:prod或者pre
datasourceName数据源标识pathtruestringeg:student_bky05o0
value字段标识和字段值对象列表bodytruearrayeg:{"value":[{"name":"李四","score":70,"semester":"第一学期"},{"name":"王五","score":88,"semester": "第一学期"}]}

响应状态:

状态码说明
201创建成功

响应参数:

参数名称参数说明类型schema
value字段标识和字段值对象列表array记录列表

响应示例:

{
"@odata.context": "$metadata#student_bky05o0",
"value": [
{
"_id": "287a53aa61af01df00dc957a79c1ab3b",
"createdAt": 1638859231940,
"updatedAt": 1638859231940,
"owner": "1468105174530121729",
"createBy": "1468105174530121729",
"updateBy": "1468105174530121729",
"_departmentList": "[]",
"name": "李四",
"course": "语文",
"score": 70,
"semester": "第一学期"
}
]
}

根据ID批量更新数据源记录

接口地址:/weda/odata/v1/batch/{envType}/{datasourceName}('{recordIds}')

请求方式:PATCH

请求数据类型:application/json

响应数据类型:*/*

请求示例:

{  
    "name":"二蛋",
    "course":"语文",
    "score":77,
    "semester":"第一学期"
}

请求参数:

参数名称参数说明请求类型是否必须数据类型示例
X-Request-Id请求requestIdheadertruestringeg:xxx
envType环境类型,pre预览环境,prod正式环境pathtruestringeg:prod或者pre
datasourceName数据源标识pathtrueeg:student_bky05o0
recordIds数据标识idpathtrueeg:('id1,id2')
批量更新对象更新的数据bodytrueeg:{"score":88}

响应状态:

状态码说明
200更新成功

响应参数:

参数名称参数说明类型
updateCount修改记录数int

响应示例:

{

    "updateCount": N

}

根据ID批量查询数据源记录

接口地址:/weda/odata/v1/batch/{envType}/{datasourceName}('{recordIds}')

请求方式:GET

请求数据类型:application/json

响应数据类型:*/*

请求参数:

参数名称参数说明请求类型是否必须数据类型示例
X-Request-Id请求requestIdheadertruestringeg:xxx
envType环境类型,pre预览环境,prod正式环境pathtruestringeg:prod或者pre
datasourceName数据源标识pathtrueeg:student_bky05o0
recordIds数据标识idpathtrueeg:('id1,id2')

响应状态:

状态码说明
200查询成功

响应参数:

参数名称参数说明类型schema
value字段标识和字段值对象列表array记录列表

响应示例:

{
"@odata.context": "$metadata#student_bky05o0",
"value": [
{
"_id": "287a53aa61af01df00dc957a79c1ab3b",
"createdAt": 1638859231940,
"updatedAt": 1638859231940,
"owner": "1468105174530121729",
"createBy": "1468105174530121729",
"updateBy": "1468105174530121729",
"_departmentList": "[]",
"name": "二蛋",
"course": "语文",
"score": 77,
"semester": "第一学期"
}
]
}

根据Filter批量查询数据源记录

接口地址:/weda/odata/v1/batch/{envType}/{datasourceName}

请求方式:GET

请求数据类型:application/json

响应数据类型:*/*

请求参数:

参数名称参数说明请求类型是否必须数据类型示例
X-Request-Id请求requestIdheadertruestringeg:xxx
envType环境类型,pre预览环境,prod正式环境pathtruestringeg:prod或者pre
datasourceName数据源标识pathtruestringeg:student_bky05o0
$filter查询条件, $filter中判断条件包含: eq:等于, gt:大于, lt:小于, ge:大于等于, le:小于等于, ne:不等于, contains():包含, 其中 contains() 用法为 $filter=contains(name, '张'),注意:如果 or 和 and 并用,优先级高的需要加括号,用法为(age gt 1 and age lt 10) or age eq 20queryfalseeg: $filter=contains(name,'张三') and name eq '张三' and score gt 60
$skip跳过N条记录queryfalseeg: $skip=0
$top查询N条记录queryfalseeg: $top=10
$orderby排序字段,$orderby 排序支持:desc和asc模式, 例如需要按某字段顺序排列$orderby=score ascqueryfalseeg: $orderby=score desc
$count获取数据总数queryfalseeg: $count=true

响应状态:

状态码说明
200查询成功

响应参数:

参数名称参数说明类型schema
value字段标识和字段值对象列表array记录列表

响应示例:

{
"@odata.context": "$metadata#student_bky05o0",
"@odata.count": 2,
"value": [
{
"_id": "287a53aa61af01df00dc957a79c1ab3b",
"createdAt": 1638859231940,
"updatedAt": 1638859231940,
"owner": "1468105174530121729",
"createBy": "1468105174530121729",
"updateBy": "1468105174530121729",
"_departmentList": "[]",
"name": "二蛋",
"course": "语文",
"score": 77,
"semester": "第一学期"
}
]
}

根据ID批量删除数据源记录

接口地址:/weda/odata/v1/batch/{envType}/{datasourceName}('{recordIds}')

请求方式:DELETE

请求数据类型:application/json

响应数据类型:*/*

请求参数:

参数名称参数说明请求类型是否必须数据类型示例
X-Request-Id请求requestIdheadertruestringeg:xxx
envType环境类型,pre预览环境,prod正式环境pathtruestringeg:prod或者pre
datasourceName数据源标识pathtruestringeg:student_bky05o0
recordIds数据标识idpathtruearrayeg:('id1,id2,id3')

响应状态:

状态码说明
200删除成功

响应参数:

参数名称参数说明类型
deleteCount删除记录数integer

响应示例:

{
"deleteCount": 3
}

查询环境下所有数据源Schema

接口地址:/weda/model/v1/getSchemaList

请求方式:GET

请求数据类型:application/json

响应数据类型:*/*

请求参数:

参数名称参数说明请求类型是否必须数据类型示例
X-Request-Id请求requestIdheadertruestringeg:xxx

响应状态:

状态码说明schema
200查询成功公共出参对象

响应参数:

参数名称参数说明类型
QueryDataSourceSchemaResultList数据模型Schema数组array
Id数据模型IDstring
Name数据模型标识string
Title数据模型标题string
Schema数据模型Schemastring
RequestId请求IDstring

响应示例:

{  
    "Response":{
        "Data":{
            "QueryDataSourceSchemaResultList":[
                {
                    "Id":"data-1P1UtRsJ2",
                    "Name":"sys_user",
                    "Title":"用户",
                    "Schema":"model schema"
                }
            ],
            "RequestId":"reqid"
        }
    }
}

查询数据源Schema

接口地址:/weda/model/v1/getSchemaList/{dataSourceName}

请求方式:GET

请求参数:

参数名称参数说明请求类型是否必须数据类型示例
X-Request-Id请求requestIdheadertruestringeg:xxx
dataSourceName数据源标识pathtruestringeg:sys_user

响应状态:

状态码说明schema
200查询成功公共出参对象

响应参数:

参数名称参数说明类型
QueryDataSourceSchemaResultList数据模型Schema数组array
Id数据模型IDstring
Name数据模型标识string
Title数据模型标题string
Schema数据模型Schemastring
RequestId请求IDstring

响应示例:

{  
    "Response":{
        "Data":{
            "QueryDataSourceSchemaResultList":[
                {
                    "Id":"data-1P1UtRsJ2",
                    "Name":"sys_user",
                    "Title":"用户",
                    "Schema":"model schema"
                }
            ],
            "RequestId":"reqid"
        }
    }
}

查询选项集信息

接口地址:/weda/model/v1/describeOptionSet

请求方式:POST

请求数据类型:application/json

响应数据类型:*/*

接口描述:

根据选项集标识查询选项集具体信息

请求示例:

{
"optionSetNames": []
}

请求参数:

参数名称参数说明请求类型是否必须数据类型schema
查询选项集信息入参对象查询选项集信息入参对象bodytrue查询选项集信息入参对象查询选项集信息入参对象
optionSetNames选项集标识列表truearray

响应状态:

状态码说明schema
200OKOpenApiServerResponse查询选项集信息出参对象

响应参数:

参数名称参数说明类型
total选项集个数integer
items选项集列表array
name标识string
title名称string
description描述string
envId所属环境string
config选项集KV列表string
data选项集kv映射结构object

响应示例:

{
"response": {
"requestId": "",
"error": {
"code": "",
"message": ""
},
"data": {
"total": 1,
"items": [
{
"name": "gender",
"title": "性别",
"description": "性别信息描述",
"envId": "lowcode-a1b2c3",
"config": "[{\"key\":\"1\",\"value\":\"男\"},{\"key\":\"2\",\"value\":\"女\"}]",
"data": {"1":"男", "2":"女"}
}
]
}
}
}

查询数据模型信息

接口地址:/model/v1/describeDataSourceList

请求方式:POST

请求数据类型:application/json

响应数据类型:*/*

接口描述:

根据环境ID(模型ID或者模型NAME)查询当前环境数据模型

请求示例:

{
"PageNum":1,
"PageSize":10,
"IdList":[
"id1",
"id2"
],
"NameList":[
"name1",
"name2"
],
"QueryAll":false
}

请求参数:

参数名称参数说明请求类型是否必须数据类型示例
X-Request-Id请求requestIdheaderstringeg:xxx
PageNum页码bodyinteg:1
PageSize页大小bodyinteg:10
QueryAll是否查询当前环境下所有模型bodybooleg:false
IdList根据ID查询模型bodystr listeg:["id1","id2"]
NameList根据Name查询模型bodystr listeg:["name1","name2"]

响应状态:

状态码说明schema
200OKOpenApiServerResponse当前环境下数据模型

响应参数:

参数名称参数说明类型
Total环境下模型总数integer
requestId请求IDstring
DataSourceList模型列表array
Id数据源 IDstring
Title数据源名称string
Name数据源标识string
Type数据源类型string
SubType数据源子类型string
Schema数据源字段配置string
Methods方法集合string
UpdateTime更新时间string
Fun模型发布信息string

响应示例:

{
"response": {
"requestId": "reqid",
"data": {
"DataSourceList": [
{
"Id": "模型ID",
"Title": "模型名称",
"Name": "模型标识",
"Type": "database",
"SubType": "database",
"Schema": "模型schema",
"Methods": "[]",
"UpdateTime": "2023-08-16T02:59:05",
"Fun": "模型发布信息"
}
],
"Total": N
}
}
}