过滤规则

Version 23.4.8843


过滤规则

Version 23.4.8843


系统 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 筛选器可与关键字 andor 结合使用。例如,以下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 请求与前一个请求检索相同的数据,但在 sentreceived 组中,文件依次按照文件大小从大到小的顺序排列:

GET http://mydomain.com:8001/api.rsc/transactions?$filter=contains(filepath,'.xml')&$orderby=status asc, filesize desc