Generics с Spring RESTTemplate

У меня есть такой класс:

public class Wrapper {

 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 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 | Объект типа Java

| LinkedHashMap

59
задан Community 23 May 2017 в 12:18
поделиться