I corrected my code according to the answer here Retrofit Expected BEGIN_OBJECT but was BEGIN_ARRAY
but still I am getting same error.
The api I am using is of wordpress.
here is a sample of my json response
[
{
"id": 5095,
"parent_id": 0,
"number": "5095",
"order_key": "wc_order_q7QgiKvemzxBd",
"created_via": "checkout",
"version": "5.0.0",
"status": "processing",
"currency": "USD"
},
{
"id": 5094,
"parent_id": 5090,
"number": "5094",
"order_key": "wc_order_PeUZBs1eRRgHC",
"created_via": "dokan",
"version": "5.0.0",
"status": "processing",
"currency": "USD"
}
]
ApiInterface method:
@Headers({"Content-Type: application/json"})
@GET("wp-json/wc-analytics/orders")
Call<List<OrdersModel>> getAllOrdersWuCo();
This is how I am calling it
Call<List<OrdersModel>> allOrdersWuCo = apiInterfaceTwo.getAllOrdersWuCo();
allOrdersWuCo.enqueue(new Callback<List<OrdersModel>>() {
@Override
public void onResponse(Call<List<OrdersModel>> call, Response<List<OrdersModel>> response) {
List<OrdersModel> list = response.body();
}
@Override
public void onFailure(Call<List<OrdersModel>> call, Throwable t) {
String message = t.getMessage();
}
});
OrdersModel.java this is my orders model class i have posted some of orders model class as it's too big:
public class OrdersModel {
@SerializedName("id")
@Expose
private Integer id;
@SerializedName("parent_id")
@Expose
private Integer parentId;
@SerializedName("number")
@Expose
private String number;
@SerializedName("order_key")
@Expose
private String orderKey;
@SerializedName("created_via")
@Expose
private String createdVia;
@SerializedName("version")
@Expose
private String version;
@SerializedName("status")
@Expose
private String status;
@SerializedName("currency")
@Expose
private String currency;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getParentId() {
return parentId;
}
public void setParentId(Integer parentId) {
this.parentId = parentId;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getOrderKey() {
return orderKey;
}
public void setOrderKey(String orderKey) {
this.orderKey = orderKey;
}
public String getCreatedVia() {
return createdVia;
}
public void setCreatedVia(String createdVia) {
this.createdVia = createdVia;
}
public String getVersion() {
return version;
}
public void setVersion(String version) {
this.version = version;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getCurrency() {
return currency;
}
public void setCurrency(String currency) {
this.currency = currency;
}
}