[英]extract some field from rest assured response
我有一個 ResponseBody object,它是這樣的:
"data": {
"id": 123,
"name": "georghe",
"surname": "sue"
}
我可以忽略 id 字段嗎,因為我想將它與我的 json 數據進行比較,並且它不包含 id 字段。 我得到這樣的數據response.getBody().path("data").toString()
但 id 也來了。
我試圖將 map 像這樣
response.getBody().path("data").as(Student.java)
但我不能使用路徑作為方法。(在我的學生 class 中,我在 id 上方使用 @jsonIgnore 注釋)
我嘗試了 2 種不同的風格,但它們都不起作用。你知道嗎?
學生 class:
Student class{
private String name;
private String surname;
//getter and setters
}.
因此,如果您想忽略/避免在響應中包含 Id,@JsonIgnore 是正確的方法,但請確保您使用了正確的注釋:
com.fasterxml.jackson.annotation.JsonIgnore
前段時間我也遇到了同樣的情況,這是由於從錯誤的庫中導入注釋引起的(net.minidev.json.annotate)
更新:因此,如果您想從數據元素中提取學生 object,您可以執行以下操作:
final Student student = given()
.header(YOUR_HEADER, YOUR_HEADER_VALUE)
.when()
.get(YOUR_URL)
.then()
.statusCode(200)
.extract().jsonPath().getObject("data", Student.class)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.