Как получить общую карту в ответ на метод обмена restTemplate? - PullRequest
0 голосов
/ 10 января 2019

У нас есть служба отдыха, которая возвращает байтовый массив внутри карты типа. При получении ответа, если я использую Map без обобщенных данных, данные байтового массива преобразуются в строку. Можно ли отправить только байтовые данные с сервера, и если да, то как получить эти данные от клиента с помощью RestTemplate?

 ResponseEntity<Map<String, byte[]>> result result = restTemplate.exchange("http://localhost:8085/api/fetchContent?Id=" + contentId+"&userName=trump", HttpMethod.GET, entity, Map.class, params);

Приведенный выше код создаст проблему компиляции, поскольку тип возвращаемого значения - карта.

1 Ответ

0 голосов
/ 10 января 2019

Использование ParameterizedTypeReference<T>:

ParameterizedTypeReference<Map<String, byte[]>> responseType =
        new ParameterizedTypeReference<Map<String, byte[]>>() {};

ResponseEntity<Map<String, byte[]>> responseEntity = 
        restTemplate.exchange("http://example.org", HttpMethod.GET, entity, responseType);
...