Ho trovato molte domande simili ma nessuna di queste ha aiutato.Problema di token di tipo Gson con deserializzazione generica
Questo funziona:
public class Assets<T> {
public T getAndDeserializeAsset(String endpoint, String assetId, Client client){
Response response = client.get(endpoint+assetId);
Gson gson = new Gson();
T asset = gson.fromJson(response.body, new TypeToken<Email>(){}.getType());
return asset;
}
}
Questo non lo fa:
public class Assets<T> {
public T getAndDeserializeAsset(String endpoint, String assetId, Client client){
Response response = client.get(endpoint+assetId);
Gson gson = new Gson();
T asset = gson.fromJson(response.body, new TypeToken<T>(){}.getType());
return asset;
}
}
l'ho fatto in base alla documentazione ufficiale, quindi non ho idea perché non funziona
Errore:
Exception in thread "main" java.lang.ClassCastException: com.rest.api.Response cannot be cast to model.Email
at main.Main.main(Main.java:34)