我想添加一个监视器来检测不健康的服务并在这种情况下发送警报。我公开了一个简单的 REST API -/healthy它返回一个 JSON 例如{"healthy": true}。
然后我添加了一个REST API Monitor到我的 site24x7 帐户,将内容检查响应格式设置为 JSON,现在我应该提供一个要断言的 JSONPath。
在 JSONPath 在线测试器中,当我使用时,$.healthy我得到了[true]. 但我想我应该尝试断言该返回值。
使用以下表达式不起作用
$.(@healthy=='true')
$.[?(@.healthy=='true')]
$[?(@.healthy=='true')]
$?(.healthy=='true')
$.healthy=='[true]'
$.healthy==[true]
$.healthy==['true']
Run Code Online (Sandbox Code Playgroud)
我认为我应该使用或过滤来评估断言表达式()。
我如何断言返回健康状态?
在 site24x7 示例中,我看到 JSONPath 表达式的示例
$..[?(@.overallStatus=='true')]
我无法让它在我的情况下工作
谢谢
它的文档非常少,但我查看了Jayway JsonPath的示例,最终发现它有效:
$.[?(@.healthy == true)]
Run Code Online (Sandbox Code Playgroud)
由于您的结构非常基本,我认为这也可能有效:
[?(@.healthy == true)]
Run Code Online (Sandbox Code Playgroud)
您可以在https://jsonpath.herokuapp.com/上尝试一下
| 归档时间: |
|
| 查看次数: |
382 次 |
| 最近记录: |