I am trying to deserialize the response using POJO classes.
My sample response is;
[ { "bookingid": 4 }, { "bookingid": 9 }, { "bookingid": 3 }, { "bookingid": 2 }, { "bookingid": 1 }, { "bookingid": 6 }, { "bookingid": 5 }, { "bookingid": 10 }, { "bookingid": 8 }, { "bookingid": 7 } ]
public class BookingID
{
private int bookingid;
public void setId(int bookingid) {
this.bookingid = bookingid;
}
public int getId() {
return bookingid;
}
@Override
public String toString() {
return "BookingID{" +
"bookingid=" + bookingid +
'}';
}
}
BookingList class
import java.util.List;
public class BookingIDList
{
private List<BookingID> bookingList;
public void setBookingList(List<BookingID> bookingList) {
this.bookingList = bookingList;
}
public List<BookingID> getBookingList() {
return bookingList;
}
@Override
public String toString() {
return "BookingIDList{" +
"bookingList=" + bookingList +
'}';
}
}
**I am now trying to deserialize**
Response response= given(requestSpecificationGenerator.GetRequestSpecification()).get("/booking"); System.out.println("All bookings are as follows \n"+response.asPrettyString());
BookingIDList bookingIDList = response.getBody().as(BookingIDList.class);
**getting the exception here as**
com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize value of type `response.BookingIDList` from Array value (token `JsonToken.START_ARRAY`)
at [Source: (String)"[
{
"bookingid": 4
},
{
"bookingid": 9
},
{
"bookingid": 3
},
{
"bookingid": 2
},
{
"bookingid": 1
},
{
"bookingid": 6
},
{
"bookingid": 5
},
{
"bookingid": 10
},
{
"bookingid": 8
},
{
"bookingid": 7
}
]"; line: 1, column: 1]
at com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)