Bom dia, preciso de uma ajuda!
Estou utilizando o retrofit e recebo a seguinte resposta do servidor.
2021-07-22 07:31:27.647 4606-4676/com.example.appmarket I/okhttp.OkHttpClient: {"status":"success","shoppingLists":[{"id":2,"month":"Julho","year":2021,"start":"2021-06-14","end":"2021-06-16","status":"Fechada","discount":null,"created_by":1,"shopping_list_type_id":1,"created_at":"2021-06-14T14:58:28.000000Z","updated_at":"2021-06-17T04:00:29.000000Z"}]}
esse é o meu Model.java
package com.example.appmarket.model;
import androidx.room.Embedded;
import androidx.room.Entity;
import androidx.room.Ignore;
import androidx.room.PrimaryKey;
import org.jetbrains.annotations.NotNull;
import java.io.Serializable;
@Entity
public class Lista implements Serializable {
@PrimaryKey
@NotNull
private String status;
@Embedded
private Lista.ShoppingList shoppingList;
public Lista(){
}
@NotNull
public String getStatus() {
return status;
}
public void setStatus(@NotNull String status) {
this.status = status;
}
public Lista.ShoppingList getShoppingList() {
return shoppingList;
}
public void setShoppingList(Lista.ShoppingList shoppingList) {
this.shoppingList = shoppingList;
}
public class ShoppingList implements Serializable{
@PrimaryKey
@NotNull
private int id;
private String month;
private int year;
private String start;
private String end;
@Ignore
private String status;
private int discount;
private int created_by;
private int shopping_list_type_id;
private String created_at;
private String updated_at;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getMonth() {
return month;
}
public void setMonth(String month) {
this.month = month;
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
public String getStart() {
return start;
}
public void setStart(String start) {
this.start = start;
}
public String getEnd() {
return end;
}
public void setEnd(String end) {
this.end = end;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public int getDiscount() {
return discount;
}
public void setDiscount(int discount) {
this.discount = discount;
}
public int getCreated_by() {
return created_by;
}
public void setCreated_by(int created_by) {
this.created_by = created_by;
}
public int getShopping_list_type_id() {
return shopping_list_type_id;
}
public void setShopping_list_type_id(int shopping_list_type_id) {
this.shopping_list_type_id = shopping_list_type_id;
}
public String getCreated_at() {
return created_at;
}
public void setCreated_at(String created_at) {
this.created_at = created_at;
}
public String getUpdated_at() {
return updated_at;
}
public void setUpdated_at(String updated_at) {
this.updated_at = updated_at;
}
}
}
quando tento acessar a resposta do servidor , ele vem null .
call.enqueue(new Callback<Lista>() {
@Override
public void onResponse(Call<Lista> call, Response<Lista> response) {
Lista lista = response.body();
Log.i("DADOS LISTA", lista.getStatus());
Log.i("DADOS LISTA", String.valueOf(lista.getShoppingList()));
}
@Override
public void onFailure(Call<Lista> call, Throwable t) {
}
});
021-07-22 07:51:07.550 7042-7042/com.example.appmarket I/DADOS LISTA: success
2021-07-22 07:51:07.550 7042-7042/com.example.appmarket I/DADOS LISTA: null
Acho que algo em meu model está errado, para receber esse array de objetos.
Agradeço desde já pela ajuda