Je suis désolé si mon titre est trop vague, mais je ne pouvais pas trouver mieux.Rénovation, Générique Type d'appel
J'ai un repos Api qui exposer un service de cette façon: /api/{type}/{id}
4 'type' et donc 4 types de classe qui sont retournés.
Toutes ces classes s'étend à partir des mêmes SuperClass
Mon problème est que je semble avoir toujours de nommer explicitement la classe retournée:
Call<Type1> call = apiInterface.get....
Call<Type2> call = apiInterface.get....
etc ...
donc pour l'instant Je le fais
SuperClass object = null;
switch(type){
case TYPE1:
Call<Type1> call = apiInterface.getType1(id);
call.enqueue(new Callback....{
.......
object = response.body()
}
break;
case TYPE2:
Call<Type2> call = apiInterface.getType2(id);
call.enqueue(new Callback....{
.......
object = response.body()
}
break;
}
qui se sent tout à fait faux.
Auriez-vous un moyen de le faire mieux, peut-être quelque chose avec des génériques?
Merci,