[英]How do I extract results with special conditions using restAssured?
我有一个列表作为响应返回。 我需要得到一个少于开始 5 的人的名字
{
"person": {
"list": [
{
"id":A135443
"name":"Jeff"
"start":5
},
{
"id":A135410
"name":"JohnDoe"
"start":5
},
{
"id":A135418
"name":"Adam"
"start":4
},
{
"id":A135431
"name":"Harry"
"start":3
},
....
]}}
在上面的代码中,小于 5 start 的“Adam”和“Harry”应该存储在数组中。
如何将满足特定条件的结果存储在数组中?
有很多方法可以做到这一点,这里有几个例子,它们是非常自我解释的 - 否则让我知道,我很乐意解释
选项1 :
Response res = RestAssured.given().when().get("http://localhost:8080/trial/1");
JsonPath js = res.jsonPath();
List<Object> values = js.getList("person.list.findAll { it.start < 5 }.name");
选项2:
List<Object> values1 = RestAssured.given().when().get("http://soapractice.mocklab.io/thing/4").then().extract()
.body().jsonPath().getList("person.list.findAll { it.start < 5 }.name");
选项 3:
String def = RestAssured.given().when().get("http://soapractice.mocklab.io/thing/4").then().extract().body().asString();
JsonPath js1 = new JsonPath(def);
List<Object> values2 = js1.getList("person.list.findAll { it.start < 5 }.name");
官方文档很有用 - 链接
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.