过滤规则
Version 24.3.9111
过滤规则
Version 24.3.9111
系统 API 支持 OData 过滤以检索特定的资源集。在目标网址中,OData 过滤器被设置为 ‘$filter’ 查询参数。以下逻辑运算符可用于构建 OData 筛选器:
- eq - 等于
- ne - 不等于
- gt - 大于
- ge - 大于或等于
- lt - 小于
- le - 小于或等于
- not - 否定
例如,以下 API 请求使用 gt 来检索 2019 年 8 月 26 日之后所有事务的事务日志中的元数据:
GET http://mydomain.com:8001/api.rsc/transactions?$filter=timestamp gt 2019-08-26
OData 筛选器可与关键字 and 和 or 结合使用。例如,以下API请求将在 2019 年 8 月 26 日之后检索特定端口事务的所有事务日志元数据:
http://mydomain.com:8001/api.rsc/transactions?$filter=timestamp gt 2019-08-26 and connectorid eq myConnector
系统 API 也支持 OData 过滤规则中的以下功能:
- startswith(property, ‘value’)-仅当指定的属性以指定的值开始时,才返回资源
- endswith(property, ‘value’)-仅当指定的属性以指定的值结束时,才返回资源
- contains(property, ‘value’)-仅当指定的属性包含指定的值时,才返回资源
例如,以下 API 请求用于检索应用程序处理的所有 XML 文件的交易日志元数据:
GET http://mydomain.com:8001/api.rsc/transactions?$filter=contains(filepath,'.xml')
选择指定的区域
除了 $filter 查询参数之外,还可设置 $select 查询参数来限制响应中返回的特定字段。此参数应设置为需要检索的属性的逗号分隔列表。例如,以下 API 请求用于检索每个已配置端口的名称和工作区,但不检索这些端口的其它配置信息:
GET http://mydomain.com:8001/api.rsc/connectors?$select=connectorid,workspace
API 还支持从单个资源中检索单个值。例如,以下 API 请求用于返回指定端口的工作区:
http://localhost:8001/api.rsc/connectors('myConnector')/workspace/$value
排序
除了 $filter 和 $select 之外,还可设置 $orderby 查询参数用于将结果按照特定顺序进行排序。此参数用以下语法指定:
$orderby=columnName sortDirection
其中,columnName 是用于排序的列(例如文件名、端口标识、时间戳等),sortDirection 包括 asc 表示的升序或 desc 表示的降序两种情况。
例如,以下 API 请求用于检索应用程序处理的所有 XML 文件的交易日志元数据,之后根据文件是 sent 或是 received 对结果进行排序:
GET http://mydomain.com:8001/api.rsc/transactions?$filter=contains(filepath,'.xml')&$orderby=status asc
通过将 $orderby 参数设置为逗号分隔列表,可指定多个排序条件(列表位置靠前的条件优先)。例如,下列 API 请求与前一个请求检索相同的数据,但在 sent 或 received 组中,文件依次按照文件大小从大到小的顺序排列:
GET http://mydomain.com:8001/api.rsc/transactions?$filter=contains(filepath,'.xml')&$orderby=status asc, filesize desc