Что указать в параметре responseType метода exchange RestTemplate
Пытаюсь сформировать запрос
private final RestTemplate httpClient;
ResponseEntity<DataEntity<User>> response =
httpClient.exchange(Url,
HttpMethod.POST,
httpEntity,
User.class);
И получаю ошибку
Required type:ResponseEntity<DataEntity<User>>
Provided:ResponseEntity<User>
Что мне надо указать в этом параметре?
DataEntity - это класс обертка
public class DataEntity<T>{
private T data;
}
Что мне надо указать вместо User.class?
Ответы (1 шт):
Автор решения: Михаил Ребров
→ Ссылка
Используйте ParameterizedTypeReference
Это специальный вспомогательный класс в Spring Framework, предназначенный для передачи ссылок на обобщения/параметризируемые классы
new ParameterizedTypeReference<DataEntity<User>>() {}
В итоге:
private final RestTemplate httpClient;
ResponseEntity<DataEntity<User>> response =
httpClient.exchange(Url,
HttpMethod.POST,
httpEntity,
new ParameterizedTypeReference<DataEntity<User>>() {}
);