$filter 查询参数。以下逻辑运算符可用于构建 OData 过滤器:
例如,以下 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')— 仅当指定属性包含指定值时,才返回资源
GET http://mydomain.com:8001/api.rsc/transactions?$filter=contains(filepath,'.xml')
选择指定字段
除了 select 查询参数来限制响应中返回的特定字段。此参数应设置为需要检索的属性的逗号分隔列表。例如,以下 API 请求用于检索每个已配置端口的名称和工作区,但不检索这些端口的其他配置信息:GET http://mydomain.com:8001/api.rsc/connectors?$select=connectorid,workspace
API 还支持从单个资源中检索单个值。例如,以下 API 请求返回指定端口的工作区:
http://localhost:8001/api.rsc/connectors('myConnector')/workspace/$value
排序
除了 select 之外,还可设置 $orderby 查询参数用于将结果按照特定顺序排序。此参数用以下语法指定:$orderby=columnName sortDirection
其中,columnName 是用于排序的列(例如 filename、connectorId、timestamp),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