RestTemplate请求JSON交互时,响应数据太大导致eof

来源:互联网 发布:ubuntu16更新软件源 编辑:程序博客网 时间:2024/06/02 04:13
在使用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<String, String> params = new LinkedMultiValueMap<>();
params.set("paramkey", param);
org.springframework.http.HttpEntity<?> requestEntity = new org.springframework.http.HttpEntity<Object>(requestHeaders);
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().add(new StringHttpMessageConverter());
ResponseEntity<String> responseEntity = restTemplate.exchange(url, HttpMethod.POST, requestEntity, String.class);
return responseEntity.getBody();
}

1 0
原创粉丝点击