GZIP:ed响应的减压(Grails / Groovy)



我正在使用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);

最新更新