Select
功能介绍
指定需要的属性及查询条件,返回指定属性的结果集。
入参
POST http://{Endpoint}/rdm_{appID}_app/services/dynamic/api/{entityName}/select/pageSize/curPage { "params": { "selectedField": [ { "name": "属性名称", "nameAs": "属性别名" } ], "sorts": [ { "sort": "DESC", "orderBy": "属性名称" } ], "filter": { "joiner": "and", "conditions": [ { "conditionName": "属性名称", "operator": "=", "conditionValues": [ "属性值" ] } ] } } }
- {Endpoint}表示数据建模引擎所在域名或IP地址,{appID}表示应用ID,{entityName}表示实体的英文名称。
- 在URL上填写待查询的页码(curPage)和每页可显示的数据量(pageSize)。
- 在JSON代码中的设置sorts字段、filter字段、SelectedField字段和isTransformResBody字段。
- sorts:填写需要按哪个字段进行排序,可填写模型自身属性、参考对象的属性、扩展属性及分类属性,也可为空。
- filter:填写过滤条件,可为空。
- SelectedField:填写需要输出的字段和别名。JSON参数格式为“参数名称.参数值”,如果填写的字段为JSON类型,SelectedField的“name”参数需要填写为“JSON类型字段的英文名称.JSON参数的名称”。例如,需要输出的JSON类型字段为“partJSON”,存在一条数据[{"city":"shenzhen"}],SelectedField填写示例如下:
"selectedField": [ { "name": "partJSON.city", "nameAs": "partJSON" } ] - isTransformResBody:在通过select接口查询分类类型属性,并希望获取JSON格式的返回结果时,可以将“isTransformResBody”参数设置为“true”。如果未填写该参数或将其设置为“false”,系统将使用默认的数据格式返回结果。
出参
指定属性的结果集。
示例1
示例场景
有一个数据实体(People),先按名称倒序排序,再按年龄倒序排序。而后根据性别为男性进行过滤,且“SelectedField”字段只选择输出名称和年龄,别名为“nameAsName”和“nameAsAge”。
入参示例
POST http://dme.cn-north-4.huaweicloud.com/rdm_01a2b2c4764d4e00f123g345fd9baa9f_app/services/dynamic/api/People/select/20/1
{
"params": {
"selectedField": [
{
"name": "name",
"nameAs": "nameAsName"
},
{
"name": "age",
"nameAs": "nameAsAge"
}
],
"sorts": [
{
"sort": "DESC",
"orderBy": "name"
},
{
"sort": "DESC",
"orderBy": "age"
}
],
"filter": {
"joiner": "and",
"conditions": [
{
"conditionName": "gender",
"operator": "=",
"conditionValues": [
"男"
]
}
]
}
}
}
出参示例
{
"result": "SUCCESS",
"data": [
{
"nameAsAge": 20,
"nameAsName": "李四"
},
{
"nameAsAge": 18,
"nameAsName": "张三"
}
],
"errors": [],
"pageInfo": {
"curPage": 1,
"pageSize": 20,
"totalRows": 0,
"totalPages": 0
}
}
示例2
示例场景
有一个数据实体(XxDMETest),该实体包含一个参考对象类型的属性(testDme)。而后根据testDme的ID,查询该属性ID的所有信息,并按ID倒序排序。
入参示例
POST https://dme.cn-north-4.huaweicloud.com/rdm_01a2b2c4764d4e00f123g345fd9baa9f_app/services/dynamic/api/XxDMETest/select/20/1
{
"params": {
"selectedField": [
{
"name" : "testDme"
}
],
"orderBy": "id",
"sort": "DESC",
"isNeedTotal": true,
"filter": {
"conditions": [
{
"conditionName": "id",
"operator": "=",
"conditionValues": [
"507612209518485504"
]
}
],
"joiner": "and"
}
}
}
出参示例
{
"result": "SUCCESS",
"data": [
{
"testDme": {
"id": "111",
"creator": "XDM_Developer 93172bbfd0f64437956d4c9de1234567",
"modifier": "XDM_Developer 93172bbfd0f64437956d4c9de1234567",
"createTime": "2023-06-06T07:32:59.629+0000",
"lastUpdateTime": "2023-06-06T07:32:59.629+0000",
"rdmVersion": 1,
"rdmDeleteFlag": 0,
"rdmExtensionType": "XxxDME",
"tenant": {
"id": "-1",
"creator": "xdmAdmin",
"modifier": "xdmAdmin",
"createTime": "2023-02-08T06:38:48.567+0000",
"lastUpdateTime": "2023-02-08T06:38:48.567+0000",
"rdmVersion": 1,
"rdmDeleteFlag": 0,
"rdmExtensionType": "Tenant",
"tenant": null,
"className": "Tenant",
"name": "basicTenant",
"description": "默认租户",
"kiaguid": null,
"securityLevel": "internal",
"code": "basicTenant",
"disableFlag": false,
"dataSource": "DefaultDataSource"
},
"className": "XxxDME"
}
}
],
"errors": [],
"pageInfo": {
"curPage": 1,
"pageSize": 20,
"totalRows": 1,
"totalPages": 1
}
}