我有 Web 服务的球衣实现。每个要求的响应必须经过 gzip 压缩。
客户端包含以下引导代码以打开 gzip:
Client retval = Client.create();
retval.addFilter(
new com.sun.jersey.api.client.filter.GZIPContentEncodingFilter());
对于 Tomcat web.xml gzip 配置如下
<servlet>
<display-name>JAX-RS REST Servlet</display-name>
<servlet-name>JAX-RS REST Servlet</servlet-name>
<servlet-class>
com.sun.jersey.spi.container.servlet.ServletContainer
</servlet-class>
<load-on-startup>1</load-on-startup>
<init-param>
<param-name>com.sun.jersey.spi.container.ContainerRequestFilters</param-name>
<param-value>com.sun.jersey.api.container.filter.GZIPContentEncodingFilter</param-value>
</init-param>
<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>
一切正常!
但我需要编写调用我的服务的单元测试。我使用 JerseyTest 作为基础,在实践中表明 grizzly 在没有明确声明的情况下无法正确处理 gzip。我找到了如何在类似问题上切换它的代码片段,但我不知道如何将它与 JerseyTest 结合起来。
先感谢您