我有一个ORDS GET API端点,其结构如下所示,可在如下示例URI中使用:https://myapi.test/data/customer/:customer_id/connections
select :customer_id as CUSTOMER_ID, CURSOR(SELECT CONNECTION_ID,IS_ACTIVE from CONNECTIONS where CONNECTION_CUSTOMER_ID = :customer_id) AS CONNECTIONS FROM DUAL
这可以很好地工作,当与a:customer_id = 12345一起使用时,可以生成这种格式的JSON
{
"customer_id": "12345",
"connections": [{
"connection_id": "123",
"is_active": 0
}, {
"connection_id": "456",
"is_active": 0
}, {
"connection_id": "789",
"is_active": 1
}, {
"connection_id": "10",
"is_active": 1
}]
}
现在,我想使用这里介绍的内置ORDS查询过滤选项,只显示我的客户上活动的连接。
这就是我遇到问题的时候。这些是我尝试过的格式选项和结果。
| 格式|结果|错误信息|
| --------------|--------------|--------------|
| {“连接[*].active:“1”}|400 -错误请求|无消息|
| {“connections.active:“1”}|400 -错误请求|无消息|
| 联系我们_联系我们|第403节-第一次|无法处理请求,因为正在计算的SQL语句引用的函数不可访问或不存在|
| 联系我们_联系我们_联系我们|第403节-禁止|无法处理请求,因为正在计算的SQL语句引用的函数不可访问或不存在|
在这一点上,我开始怀疑是否有可能过滤数组中的值。如果这是可能的,那么我猜是我使用CURSOR函数创建数组导致了我的悲伤。
1条答案
按热度按时间kmynzznz1#
请尝试
https://myapi.test/data/customer/:customer_id/connections?q={"is_active":1}
。如果这不起作用,请提供实际的API详细信息。