Хранить ответ API в двух разных модельных объектах, используя Realm и Parcel - PullRequest
0 голосов
/ 30 мая 2018

Извините, что запутал название, но вот сценарий,

Есть ответ API, как показано ниже,

"API_RESPONSE": {
  "id": "12345",
  "name": "Michael",
  "surname": "J.",
  "inventory"{
    ...
    ...
    }
}

И мне нужно смоделировать этот ответ с этими двумя RealmObjets,

@Parcel(implementations = { ModelARealmProxy.class },
        value = Parcel.Serialization.FIELD,
        analyze = { ModelA.class})
public class ModelA extends RealmObject {

    public Inventory inventory;
}

@Parcel(implementations = { ModelBRealmProxy.class },
        value = Parcel.Serialization.FIELD,
        analyze = { ModelB.class })
public class ModelB extends RealmObject {

    @PrimaryKey
    public String id;
    public String name;
    public String surname;
}

Итак, вот вопрос, как я могу смоделировать ответ API с использованием этих двух объектов?

1 Ответ

0 голосов
/ 30 мая 2018
public class ApiResponse {
    @SerializedName("API_RESPONSE")
    public ApiResponsePayload payload;
}

public class ApiResponsePayload {
    @SerializedName("id")
    public String id;
    @SerializedName("name")
    public String name;
    @SerializedName("surname")
    public String surname;
    @SerializedName("inventory")
    public Inventory inventory;

    public ApiResponsePayload() { // for gson
    }

    public ApiResponsePayload(ModelA modelA, ModelB modelB) {
        this.id = modelA.getId();
        this.name = modelA.getName();
        this.surname = modelA.getSurname();
        this.inventory = modelB.getInventory();
    }
}
...