【发布时间】:2017-10-27 06:50:07
【问题描述】:
开发 Android 应用程序。 我正在使用改造来获得我的回应。目前我已经制作了一个 POJO 模型类,其中包含来自所有类型的字段(实际上他们有更多的字段和自己的方法,所以我在这里简化了很多)。
来自Client.class的代码:
OkHttpClient.Builder builder = new OkHttpClient.Builder();
builder.readTimeout(30, TimeUnit.SECONDS);
OkHttpClient okHttpClient = builder.build;
Retrofit retrofit = new Retrofit.Builder()
.addConverterFactory(GsonConverterFactory.create())
.client(okHttpClient)
.build();
我想要实现的是扩展基类Car.class的所有类型(Taxi.class 和Van.class)的特定模型
目前我的Car.class 看起来像这样:
public class Car {
public String type;
public String id;
public boolean isClean;
public int seats;
public int fuelTankCapacity;
}
但我想要这样的 Car、Van 和 Taxi 模型:
public class Car {
public String type;
public String id;
}
public class Van extends Car {
public int fuelTankCapacity;
}
public class Taxi extends Car {
public boolean isClean;
public int seats;
}
来自服务器的响应 (JSON):
{
"items": [{
"type": "taxi",
"id": "1i2ilkad2",
"isClean": "true",
"seats": "5"
},
{
"type": "van",
"id": "aopks21k",
"fuelTankCapacity": 76
}, etc...
]
}
我知道应该以某种方式通过在改造实例中添加像 .addConverterFactory(new CarJSONConverter()) 这样的附加行来完成,但我不知道应该如何实现这个转换器..
【问题讨论】: