背景
看大家对 rest-assured 赞不绝口,自己尝试了下,有一个问题请教比较熟练的朋友。
问题
使用 jsonpath 过滤时,比如 findAll,如何引用自定义变量
String topic= jsonPath.getString("topics.find {it.id =='1234567'}");
这样可以筛选出 id=‘1234567’ 的 topic。
问题在于,每一个用例过滤的条件可能不一样,所以这里的 ‘1234567’ 最好用变量来代替。
尝试
String ID = ‘1234567’;
String topic= jsonPath.getString("topics.find {it.id ==$ID}");
得到如下报错
java.lang.IllegalArgumentException: The parameter "$ID" was used but not defined. Define parameters using the JsonPath.params(...) function
然后我尝试用 jsonPath.param(k, v) 的形式添加变量 ID,然而并没有什么卵用
另外,我尝试字符串拼接,也未果
String topic= jsonPath.getString("topics.find {it.id ==" + ID + "}");
文档确实不多,大家都是如何解决这个问题的呢