如何在Cumulocity AngularJS WebSDK中配置≥/≤过滤查询
解决Cumulocity AngularJS WebSDK中≥/≤过滤的配置问题
我来帮你搞定这个过滤配置的问题!你遇到的请求异常,是因为使用__ge/__le时的__filter对象配置方式出现了偏差,导致SDK生成了错误的查询参数。
正确的配置方式
其实__ge(大于等于)和__le(小于等于)的配置逻辑,和你已经用成功的__gt/__lt完全一致,都是要把操作符嵌套在目标属性的子对象里:
示例1:实现kpn_Temperature ≥ 40的过滤
__filter: { kpn_Temperature: { __ge: 40 } }
示例2:实现kpn_Temperature ≤ 20的过滤
__filter: { kpn_Temperature: { __le: 20 } }
为什么之前的请求异常?
你之前生成的错误URL里出现了__ge+eq+40,这说明你的__filter配置没有把__ge关联到kpn_Temperature属性上,反而错误地将__ge本身当作了要过滤的属性名,导致SDK生成了不符合Cumulocity查询语法的参数。
正确生成的请求URL
按照上面的正确配置,生成的请求URL应该和__gt的格式一致,只是操作符替换为ge或le:
http://localhost:9000/inventory/managedObjects?pageSize=100&q=$filter%3D(kpn_Temperature+ge+40)&withTotalPages=true
这样就能正常触发Cumulocity的大于等于过滤逻辑了。
内容的提问来源于stack exchange,提问作者Hendrik
相关产品推荐
相关产品推荐

