数据源管理API
简介:数据源管理API
前置准备,请参考文档
HOST:https://{envId}.ap-shanghai.tcb-api.tencentcloudapi.com/weda
envType: 正式环境prod,体验环境pre
创建数据源记录
接口地址:/odata/v1/{envType}/{datasourceName}
请求方式:POST
请求数据类型:application/json
响应数据类型:*/*
请求示例:
{
"name": "李四",
"course": "体育",
"score": 89,
"semester": "第二学期"
}
如果存在数组或者对象
{
"test_array": "[\"123\"]",
"test_object": "{\"key\":\"value\"}"
}
请求参数:
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | 示例 |
---|---|---|---|---|---|
X-Request-Id | 请求requestId | header | true | string | eg: xxx |
envType | 环境类型,pre预览环境,prod正式环境 | path | true | string | eg: prod或者pre |
datasourceName | 数据源标识 | path | true | eg: student_bky05o0 | |
创建记录对象 | 字段标识和字段值对象 | body | true | 创建记录对象 | eg:{"name":"李四","course":"体育","score":89,"semester":"第二学期"} |
响应状态:
状态码 | 说明 |
---|---|
201 | 创建成功 |
响应参数:
参数名称 | 参数说明 | 类型 | schema |
---|---|---|---|
创建记录对象 | 字段标识和字段值对象 | 创建记录对象 | 字段标识:字段值 |
_id | 记录id | string |
响应示例:
{
"@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/v1/{envType}/{datasourceName}('{recordId}')
请求方式:PATCH
请求数据类型:application/json
响应数据类型:*/*
请求示例:
{
"name": "李四",
"course": "体育",
"score": 89,
"semester": "第二学期"
}
如果存在数组或者对象
{
"test_array": "[\"123\"]",
"test_object": "{\"key\":\"value\"}"
}
请求参数:
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | 示例 |
---|---|---|---|---|---|
X-Request-Id | 请求requestId | header | true | string | eg: xxx |
envType | 环境类型,pre预览环境,prod正式环境 | path | true | string | eg: prod 或者 pre |
datasourceName | 数据源标识 | path | true | eg: student_bky05o0 | |
recordId | 数据标识id | path | true | eg: 5b049cc8621c7f040ea751850b63e442 | |
更新记录对象 | 字段标识和字段值对象 | body | true | 更新记录对象 | eg: {"score":99} |
响应状态:
状态码 | 说明 |
---|---|
204 | 更新成功 |
响应参数:
暂无
查询数据源记录
接口地址:/odata/v1/{envType}/{datasourceName}('{recordId}')
请求方式:GET
请求数据类型:application/json
响应数据类型:*/*
请求参数:
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | 示例 |
---|---|---|---|---|---|
X-Request-Id | 请求requestId | header | true | string | eg: xxx |
envType | 环境类型,pre预览环境,prod正式环境 | path | true | string | eg: prod 或者 pre |
datasourceName | 数据源标识 | path | true | eg: student_bky05o0 | |
recordId | 数据标识id | path | true | eg: 5b049cc8621c7f040ea751850b63e442 |
响应状态:
状态码 | 说明 |
---|---|
200 | 查询成功 |
响应参数:
参数名称 | 参数说明 | 类型 | schema |
---|---|---|---|
记录对象 | 字段标识和字段值对象 | 记录对象 | 字段标识:字段值 |
_id | 记录id | string |
响应示例:
{
"@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查询数据源记录
接口地址:/odata/v1/{envType}/{datasourceName}
请求方式:GET
请求数据类型:application/json
响应数据类型:*/*
请求参数:
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | 示例 |
---|---|---|---|---|---|
X-Request-Id | 请求requestId | header | true | string | eg: xxx |
envType | 环境类型,pre预览环境,prod正式环境 | path | true | string | eg: prod 或者 pre |
datasourceName | 数据源标识 | path | true | string | eg: student_bky05o0 |
$filter | 查询条件,$filter中判断条件包含:eq:等于,gt:大于,lt:小于,ne:不等于,contains():包含, 其中 contains() 用法为 $filter=contains(name, '张'),注意:如果 or 和 and 并用,优先级高的需要加括号,用法为(age gt 1 and age lt 10) or age eq 20 | query | false | string | eg: $filter=contains(name,'张三') and name eq '张三' and score gt 60 |
$skip | 跳过N条记录 | query | false | integer | eg: $skip=0 |
$top | 查询N条记录 | query | false | integer | eg: $top=10 |
$orderby | 排序字段,$orderby 排序支持:desc和asc模式, 例如需要按某字段顺序排列$orderby=age asc | query | false | string | eg: orderby=score desc |
$count | 获取数据总数 | query | false | boolean | eg: $count=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": "第一学期"
}
]
}
删除数据源记录
接口地址:/odata/v1/{envType}/{datasourceName}('{recordId}')
请求方式:DELETE
请求数据类型:application/json
响应数据类型:*/*
请求参数:
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | 示例 |
---|---|---|---|---|---|
X-Request-Id | 请求requestId | header | true | string | eg: xxx |
envType | 环境类型,pre预览环境,prod正式环境 | path | true | string | eg: prod 或者 pre |
datasourceName | 数据源标识 | path | true | eg: student_bky05o0 | |
recordId | 数据标识id | path | true | eg: 287a53aa61af01df00dc957a79c1ab3b |
响应状态:
状态码 | 说明 |
---|---|
204 | 删除成功 |
响应参数:
暂无
批量创建数据源记录
接口地址:/odata/v1/batch/{envType}/{datasourceName}
请求方式:POST
请求数据类型:application/json
响应数据类型:*/*
请求示例:
{
"value": [
{
"name": "二蛋",
"course": "语文",
"score": 77,
"semester": "第一学期"
}
]
}
请求参数:
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | 示例 |
---|---|---|---|---|---|
X-Request-Id | 请求requestId | header | true | string | eg: xxx |
envType | 环境类型,pre预览环境,prod正式环境 | path | true | string | eg:prod或者pre |
datasourceName | 数据源标识 | path | true | string | eg:student_bky05o0 |
value | 字段标识和字段值对象列表 | body | true | array | eg:{"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批量更新数据源记录
接口地址:/odata/v1/batch/{envType}/{datasourceName}('{recordIds}')
请求方式:PATCH
请求数据类型:application/json
响应数据类型:*/*
请求示例:
{
"name":"二蛋",
"course":"语文",
"score":77,
"semester":"第一学期"
}
请求参数:
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | 示例 |
---|---|---|---|---|---|
X-Request-Id | 请求requestId | header | true | string | eg:xxx |
envType | 环境类型,pre预览环境,prod正式环境 | path | true | string | eg:prod或者pre |
datasourceName | 数据源标识 | path | true | eg:student_bky05o0 | |
recordIds | 数据标识id | path | true | eg:('id1,id2') | |
批量更新对象 | 更新的数据 | body | true | eg:{"score":88} |
响应状态:
状态码 | 说明 |
---|---|
200 | 更新成功 |
响应参数:
参数名称 | 参数说明 | 类型 |
---|---|---|
updateCount | 修改记录数 | int |
响应示例:
{
"updateCount": N
}
根据ID批量查询数据源记录
接口地址:/odata/v1/batch/{envType}/{datasourceName}('{recordIds}')
请求方式:GET
请求数据类型:application/json
响应数据类型:*/*
请求参数:
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | 示例 |
---|---|---|---|---|---|
X-Request-Id | 请求requestId | header | true | string | eg:xxx |
envType | 环境类型,pre预览环境,prod正式环境 | path | true | string | eg:prod或者pre |
datasourceName | 数据源标识 | path | true | eg:student_bky05o0 | |
recordIds | 数据标识id | path | true | eg:('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批量查询数据源记录
接口地址:/odata/v1/batch/{envType}/{datasourceName}
请求方式:GET
请求数据类型:application/json
响应数据类型:*/*
请求参数:
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | 示例 |
---|---|---|---|---|---|
X-Request-Id | 请求requestId | header | true | string | eg:xxx |
envType | 环境类型,pre预览环境,prod正式环境 | path | true | string | eg:prod或者pre |
datasourceName | 数据源标识 | path | true | string | eg:student_bky05o0 |
$filter | 查询条件,$filter中判断条件包含:eq:等于,gt:大于,lt:小于,ne:不等于,contains():包含, 其中 contains() 用法为 $filter=contains(name, '张'),注意:如果 or 和 and 并用,优先级高的需要加括号,用法为(age gt 1 and age lt 10) or age eq 20 | query | false | eg: $filter=contains(name,'张三') and name eq '张三' and score gt 60 | |
$skip | 跳过N条记录 | query | false | eg: $skip=0 | |
$top | 查询N条记录 | query | false | eg: $top=10 | |
$orderby | 排序字段,$orderby 排序支持:desc和asc模式, 例如需要按某字段顺序排列$orderby=score asc | query | false | eg: $orderby=score desc | |
$count | 获取数据总数 | query | false | eg: $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批量删除数据源记录
接口地址:/odata/v1/batch/{envType}/{datasourceName}('{recordIds}')
请求方式:DELETE
请求数据类型:application/json
响应数据类型:*/*
请求参数:
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | 示例 |
---|---|---|---|---|---|
X-Request-Id | 请求requestId | header | true | string | eg:xxx |
envType | 环境类型,pre预览环境,prod正式环境 | path | true | string | eg:prod或者pre |
datasourceName | 数据源标识 | path | true | string | eg:student_bky05o0 |
recordIds | 数据标识id | path | true | array | eg:('id1,id2,id3') |
响应状态:
状态码 | 说明 |
---|---|
200 | 删除成功 |
响应参数:
参数名称 | 参数说明 | 类型 |
---|---|---|
deleteCount | 删除记录数 | integer |
响应示例:
{
"deleteCount": 3
}
查询环境下所有数据源Schema
接口地址:/model/v1/getSchemaList
请求方式:GET
请求数据类型:application/json
响应数据类型:*/*
请求参数:
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | 示例 |
---|---|---|---|---|---|
X-Request-Id | 请求requestId | header | true | string | eg:xxx |
响应状态:
状态码 | 说明 | schema |
---|---|---|
200 | 查询成功 | 公共出参对象 |
响应参数:
参数名称 | 参数说明 | 类型 |
---|---|---|
QueryDataSourceSchemaResultList | 数据模型Schema数组 | array |
Id | 数据模型ID | string |
Name | 数据模型标识 | string |
Title | 数据模型标题 | string |
Schema | 数据模型Schema | string |
RequestId | 请求ID | string |
响应示例:
{
"Response":{
"Data":{
"QueryDataSourceSchemaResultList":[
{
"Id":"data-1P1UtRsJ2",
"Name":"sys_user",
"Title":"用户",
"Schema":"model schema"
}
],
"RequestId":"reqid"
}
}
}
查询数据源Schema
接口地址:/model/v1/getSchemaList/{dataSourceName}
请求方式:GET
请求参数:
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | 示例 |
---|---|---|---|---|---|
X-Request-Id | 请求requestId | header | true | string | eg:xxx |
dataSourceName | 数据源标识 | path | true | string | eg:sys_user |
响应状态:
状态码 | 说明 | schema |
---|---|---|
200 | 查询成功 | 公共出参对象 |
响应参数:
参数名称 | 参数说明 | 类型 | |
---|---|---|---|
QueryDataSourceSchemaResultList | 数据模型Schema数组 | array | |
Id | 数据模型ID | string | |
Name | 数据模型标识 | string | |
Title | 数据模型标题 | string | |
Schema | 数据模型Schema | string | |
RequestId | 请求ID | string |
响应示例:
{
"Response":{
"Data":{
"QueryDataSourceSchemaResultList":[
{
"Id":"data-1P1UtRsJ2",
"Name":"sys_user",
"Title":"用户",
"Schema":"model schema"
}
],
"RequestId":"reqid"
}
}
}
查询选项集信息
接口地址:/model/v1/describeOptionSet
请求方式:POST
请求数据类型:application/json
响应数据类型:*/*
接口描述:
根据选项集标识查询选项集具体信息
请求示例:
{
"optionSetNames": []
}
请求参数:
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
---|---|---|---|---|---|
查询选项集信息入参对象 | 查询选项集信息入参对象 | body | true | 查询选项集信息入参对象 | 查询选项集信息入参对象 |
optionSetNames | 选项集标识列表 | true | array |
响应状态:
状态码 | 说明 | schema |
---|---|---|
200 | OK | OpenApiServerResponse查询选项集信息出参对象 |
响应参数:
参数名称 | 参数说明 | 类型 |
---|---|---|
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":"女"}
}
]
}
}
}