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);