RestTemplate 和对象列表的序列化

Hug*_*ège 2 spring resttemplate

我正在使用 Spring 的 RestTemplate 来查询搜索服务。而且我在正确序列化方面遇到了一些困难。如果我使用这个方法,restTemplate 会返回一个列表。我不明白如何传递参数化类型

UriBuilder builder = UriBuilder.fromUri(uri+ "/search");
builder = builder.queryParam("category", category);
HttpEntity<String> request = new HttpEntity<>(createHeaders(user, pwd));
ResponseEntity<List> search = searchTemplate.exchange(builder.build().toString(), HttpMethod.GET, request, List.class);
return search.getBody();
Run Code Online (Sandbox Code Playgroud)

PS:我已经尝试过 GeoPriceStats[].class 而不是 List.class

任何的想法 ?

Sot*_*lis 5

使用一个ParameterizedTypeReference.

ResponseEntity<List<GeoPriceStats>> search = 
    searchTemplate.exchange(builder.build().toString(),
                            HttpMethod.GET,
                            request,
                            new ParameterizedTypeReference<List<GeoPriceStats>>() {});
Run Code Online (Sandbox Code Playgroud)