我有一个列表作为响应返回。我需要从使用product.name和tariffplan.name的列表中获得一个项目。
[
{
"id": 123,
"product": {
"id": 1,
"code": "credit",
"name": "Credit"
},
"tariffPlan": {
"id": 1,
"code": "gold",
"name": "Gold"
}
},
{
"id": 234,
"product": {
"id": 2,
"code": "debit",
"name": "Debit"
},
"tariffPlan": {
"id": 1,
"code": "gold",
"name": "Gold"
}
}
]
我使用Java8。以下是我的方法。我拿到了卡。类元素的列表。然后,我需要从列表中获得具有指定“product.name”和“tariffplan.name”的单个项目。
public List<Card> getCardId(String productName, String tariffPlanName) {
return given()
.param("product.name", productName)
.param("tariffPlan.name", tariffPlanName)
.when().get("/").then()
.extract().jsonPath().getList("", Card.class);
}
是否可以用Restastured来做这件事?也许像我的例子一样使用。param方法?但是在我的示例中。param方法被忽略。谢谢你的想法。
UPD.我的决定是:
public Card getCard(String productName, String tariffPlanName) {
List<Card> cardList = given()
.when().get("/").then()
.extract().jsonPath().getList("", Card.class);
return cardList.stream()
.filter(card -> card.product.name.equals(productName))
.filter(card -> card.tariffPlan.name.equals(tariffPlanName))
.findFirst()
.get();
}
如果您需要从响应json列表中获得一个值,下面是对我有效的方法:
Json sample:
[
{
"first": "one",
"second": "two",
"third": "three"
}
]
Code:
String first =
given
.contentType(ContentType.JSON)
.when()
.get("url")
.then()
.extract().response().body().path("[0].first")
学生班级:
我需要从从 Rest Assured 建模请求返回的 JSON 响应数据中获取两个值: 这抛出和 获取这些的正确、最好的方法是什么?我知道我可以链接关闭请求,但不确定如何获取
我试图从JSON中提取值,并将其存储在String List中,因为稍后我需要检查我在csv文件中的值是否存在于此List中。 任何人都可以帮我建立一个路径来提取它吗? 现在我在我的控制台上得到了这个。**(它只返回了十个,因为我更改了“limit”参数。 我的代码直到现在: 下面您可以找到JSON结构,我只需要对象“标识符”数组中的所有“accountId”。
我想从字符串类型的REST响应(json或xml)中提取值。我尝试了以下代码: 但是它包含了 根本原因是RestAssuredConfig对象在RestAssuredResseOptionsGroovyImpl中为空 那么,既然我已经有了字符串响应,那么在没有get()或post()的情况下,如何从原始字符串响应正确构造Response对象呢?
假设我调用了一个RESTful服务,它在响应体中返回这个 我只需要得到映射键为' en '的值 所以我期望过滤后的结果会像这样 [“Reason1 英文翻译”、“Reason2 英文翻译”] 或 {"Reason1英文翻译","Reason2英文翻译"} 我已经尝试了下一个代码,但仍未完成 然后它返回 [{en=Reason1英文翻译,es=Reason2西班牙文翻译},{en=Reason2英文
我最近开始测试一个新项目的API,放心吧。我的Java不是很流利,所以我需要知道如何优化代码。 假设我有一个API,它的输出是以下格式的JSON- 数组中大约有400个这样的对象。我想获取所有400条记录的,并存储在一个数组中。我可以这样做,但我认为该方法可以优化。 我目前的代码 : 如何最小化代码行以实现同样的事情?