RestTemplate请求,响应数据太大导致eof

在使用PRC获取数据时,往往有时响应数据太大。我们一般会考虑分页,请求中包含了一些分页参数,pageNum,pageSize等。
但是我碰到一个场景就是,需要一次性加载所有数据供客户端进行自定义排序(例如:客户端可以按字母排序等)
一但数据量过大就会造成eof异常,这是需要PRC响应服务器进行数据的压缩,那么我只需要下面解析即可:

public static String requstRestPost(String url, String param) {
HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.set("Content-type", "application/json; charset=UTF-8");
requestHeaders.setAccept(Collections.singletonList(new MediaType("application","json")));
requestHeaders.set("Accept-Encoding", "GZIP");
requestHeaders.set("Connection", "Close");
requestHeaders.set("Transfer-Encoding","chunked");
MultiValueMap params = new LinkedMultiValueMap<>();
params.set("paramkey", param);
org.springframework.http.HttpEntity requestEntity = new org.springframework.http.HttpEntity(requestHeaders);
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().add(new StringHttpMessageConverter());
ResponseEntity responseEntity = restTemplate.exchange(url, HttpMethod.POST, requestEntity, String.class);
return responseEntity.getBody();
}

你可能感兴趣的:(日常问题)