我正在使用RestBuilder插件使用REST api。我得到一个身体被压缩的响应:
Content-Encoding=[gzip]
groovy/Grails 是否提供了任何易于访问/本机的方法来解码 gzip 压缩?我唯一找到的是原生的Java zip api(例如GZIPInputStream)。有人有更好的主意吗?
基本上,您在这里有 2 个选项:
-
GZIPInputStream
- 在 Tomcat 中配置 GZIP 解压缩,请参见此处
Spring 和 HttpComponents 将自动处理解码:
HttpComponentsClientHttpRequestFactory clientHttpRequestFactory = new HttpComponentsClientHttpRequestFactory(HttpClientBuilder.create().build());
RestTemplate restTemplate = new RestTemplate(clientHttpRequestFactory);
ResponseEntity<String> response = restTemplate.exchange(
"some/url/", HttpMethod.GET, new HttpEntity<Object>(requestHeaders),
String.class);