我想添加一个监视器来检测不健康的服务并在这种情况下发送警报。
我公开了一个简单的REST API - /healthy
,它返回一个JSON
例如{"healthy": true}
。
然后我在我的site24x7帐户中添加了REST API Monitor
,将内容检查响应格式设置为JSON,现在我应该提供要声明的JSONPath。
在我使用$.healthy
的JSONPath在线测试工具中,我得到[true]
。
但我想我应该尝试断言返回值。
使用以下表达式无效
$.(@healthy=='true')
$.[?(@.healthy=='true')]
$[?(@.healthy=='true')]
$?(.healthy=='true')
$.healthy=='[true]'
$.healthy==[true]
$.healthy==['true']
以为我应该使用()
或过滤来评估断言表达式。
我如何断言回归健康状况?
在site24x7示例中,我看到了JSONPath表达式的示例
$..[?(@.overallStatus=='true')]
我无法在我的案例中使用
谢谢
答案 0 :(得分:0)
它的文档记录非常差,但是查看了Jayway JsonPath的示例,最终发现它可行:
$.[?(@.healthy == true)]
由于您的结构是如此基础,所以我认为这也可能有效:
[?(@.healthy == true)]