我很难在AutoValue
上使用继承。我有一个API,提供交易的详细信息。某些字段存在于所有类型的事务中,但细节不是。详细信息特定于每种交易类型。
交易类型1 json响应:
{
"status": "Processing",
"date": "2018-24-1",
"specific_1": "abc",
"specific_2": "xyz"
}
交易类型2 json回复:
{
"status": "Cancelled",
"date": "2018-23-1",
"specific_3": "def",
"specific_4": "ghi"
}
如果没有AutoValue
,我只需要创建一个Parent Class
status
和date
,并将其扩展到具有特定{{1}的特定对象}}}。
家长班:
details
第一个儿童班:
public class Parent {
@SerializedName("status")
private String status;
@SerializedName("date")
private String date;
//getter setters...
}
第二个儿童班:
public class FirstChild extends Parent {
@SerializedName("specific_1")
private String specific1;
@SerializedName("specific_2")
private String specific2;
//getter setters...
}
两个孩子都将继承public class SecondChild extends Parent {
@SerializedName("specific_3")
private String specific3;
@SerializedName("specific_4")
private String specific4;
//getter setters...
}
和status
而不在每个对象上指定它。我的问题是date
不支持这一点。如果不在每个对象上声明所有通用字段,可以采用哪种解决方法?