【问题标题】:How to get a generic map as a response from restTemplate exchange method?如何获取通用地图作为来自 restTemplate 交换方法的响应?
【发布时间】:2019-06-05 03:07:09
【问题描述】:

我们有一个 rest 服务,它返回一个类型为 map 的字节数组。如果我在没有泛型的情况下使用 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);

上面的代码会产生一个编译问题,因为返回类型是一个映射。

【问题讨论】:

    标签: rest spring-boot resttemplate


    【解决方案1】:

    使用ParameterizedTypeReference&lt;T&gt;:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-30
      • 2016-06-20
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 2020-11-23
      相关资源
      最近更新 更多