分页查询指定用户的实例数据
操作场景
本文介绍如何通过鉴权接口和分页查询接口实现数据对象的权限过滤。
假设,在cn-north-4区域创建一个应用(TestApp),应用ID为01a2b2c4764d4e00f123g345fd9baa9f,且已部署至数据建模引擎。应用中存在一个数据实体(DataEntity1),现在需要分页查询该数据实体的所有实例数据,并过滤指定用户权限的实例数据。
URI
- Find接口
URL格式:POST http://{Endpoint}/rdm_{appID}_app/publicservices/api/{entityName}/find/{pageSize}/{curPage}
- batchHasAccess接口
URL格式:POST http://{Endpoint}/rdm_{appID}_app/services/rdm/basic/api/AccessService/batchHasAccess
- 参数说明:
表1 URI参数说明 参数
是否必填
参数类型
描述
Endpoint
是
String
承载REST服务端点的服务器域名或IP地址。
appID
是
String
应用ID。
entityName
是
String
实体的英文名称。
pageSize
否
String
分页查询时,每页最多展示的记录数。
curPage
否
String
分页查询的页数。
步骤1:分页查询DataEntity1实体的所有实例数据
- 在Request Header中增加“X-Auth-Token”,值为用户Token。
- 在Request Header中增加“Content-Type”,值为“application/json”。
- 在Request Body中传入参数如下:
{ "params":{ "sort":"DESC", "orderBy":"lastUpdateTime", "filter": { "joiner":"and", "conditions":[] }, "isNeedTotal":false } }
- sort:排序类型,也可为空。
- orderBy:填写需要按哪个字段进行排序,可填写模型自身属性、参考对象的属性、扩展属性及分类属性,也可为空。
- filter:填写过滤条件,可为空。
- 发送POST“https://dme.cn-north-4.huaweicloud.com/rdm_01a2b2c4764d4e00f123g345fd9baa9f_app/publicservices/api/DataEntity1/find/20/1”。
若请求失败,会返回错误码及对应的错误信息说明。
步骤2:基于分页查询的实例数据,指定用户过滤实例数据
- 在Request Header中增加“X-Auth-Token”,值为用户Token。
- 在Request Header中增加“Content-Type”,值为“application/json”。
- 在Request Body中传入参数如下:
{ "params":{ "userId":"490183140267008000", "rdmExtensionType":" DataEntity1", "operations":["000000005"], "ids":["490930153786974208", "23213", "20230414300", "9898989898989898"] } }
- userId:被鉴权用户在XDMUser实体实例中的ID,不可为空。
- rdmExtensionType:被鉴权实例的实体类型,不可为空。
- operations:操作列表,不可为空。
- ids:被鉴权的实例ID列表,不可为空。
- 发送POST“https://dme.cn-north-4.huaweicloud.com/rdm_01a2b2c4764d4e00f123g345fd9baa9f_app/services/rdm/basic/api/AccessService/batchHasAccess”。
若请求失败,会返回错误码及对应的错误信息说明。