GZIP:ed 响应的解压 (Grails / Groovy)
Decompression of GZIP:ed response (Grails / Groovy)
我正在使用 RestBuilder 插件使用 REST api。我收到压缩 body 的响应:
Content-Encoding=[gzip]
groovy/Grails是否提供任何简单的访问/本机方法来解码 gzip 压缩?我唯一找到的是原生 Java zip api(例如 GZIPInputStream)。有人有更好的主意吗?
基本上,这里有 2 个选项:
GZIPInputStream
- 在 tomcat 中配置 GZIP 解压缩,请参阅 here
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);
我正在使用 RestBuilder 插件使用 REST api。我收到压缩 body 的响应:
Content-Encoding=[gzip]
groovy/Grails是否提供任何简单的访问/本机方法来解码 gzip 压缩?我唯一找到的是原生 Java zip api(例如 GZIPInputStream)。有人有更好的主意吗?
基本上,这里有 2 个选项:
GZIPInputStream
- 在 tomcat 中配置 GZIP 解压缩,请参阅 here
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);