我有一个 REST 方法,我想在其中输出 gzip 压缩的内容。我已经添加了
<init-param>
<param-name>com.sun.jersey.spi.container.ContainerResponseFilters</param-name>
<param-value>com.sun.jersey.api.container.filter.GZIPContentEncodingFilter</param-value>
</init-param>
到 web.xml 中的 servlet
我可以看到代码通过调试通过 GZIPContentEncodingFilter 类,但输出没有得到 .gzip 前缀并且内容没有被压缩,而是正常的 json。我正在使用泽西岛 1.14。
方法如下:
@GET
@Path("/fundlight")
@Produces(MediaType.APPLICATION_JSON)
public Response getFundLightList() {
StopWatch watch = new StopWatch();
watch.start();
Collection<Object> objectResults = null;
objectResults = getCacheMap("FundLight").values();
List<FundLight> fundLightList = new ArrayList(objectResults);
watch.stop();
GenericEntity<List<FundLight>> entity = new GenericEntity<List<FundLight>>(fundLightList) {
};
ResponseBuilder builder = Response.ok(entity);
return builder.build();
}