У меня такой класс:
public class Wrapper<T> {
private String message;
private T data;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
}
и я использую resttemplate следующим образом:
...
Wrapper<Model> response = restTemplate.getForObject(URL, Wrapper.class, myMap);
Model model = response.getData();
...
Однако он бросает:
ClassCastException
Я читал это: Проблема при попытке использовать Джексона в java, но не помогла. Есть несколько тем, связанных с моей проблемой и т. Д.: https://jira.springsource.org/browse/SPR-7002 и https://jira.springsource.org/browse/SPR-7023
Есть идеи?
PS: Моя ошибка такова:
java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to a.b.c.d.Model
Я думаю, resttemplate не может понять мою общую переменную и, возможно, она принимает ее как объект вместо общего T. Таким образом, он становится LinkedHashMap. Вы можете прочитать это здесь. Здесь говорится, что, объясняя, из чего он идет:
JSON Type | Тип Java
объект | LinkedHashMap