REST API 中的 gZip 实现
gZip Implementations in REST APIs
如何在 REST 中使用 gzip 过滤器 API?
另外,假设我想在一个地方实施。有没有办法配置 20 APIs,只有少数 APIs 使用它。
任何文档都会有所帮助。
可以用 WriterInterceptor
:
public class GZIPWriterInterceptor implements WriterInterceptor {
@Override
public void aroundWriteTo(WriterInterceptorContext context)
throws IOException, WebApplicationException {
final OutputStream outputStream = context.getOutputStream();
context.setOutputStream(new GZIPOutputStream(outputStream));
context.proceed();
}
}
然后在你的 ResourceConfig
/ Application
子类中注册 WriterInterceptor
:
@ApplicationPath("/api")
public class MyApplication extends ResourceConfig {
public MyApplication() {
register(GZIPWriterInterceptor.class);
}
}
要将拦截器绑定到某些资源方法或 类,您可以使用 .
有关详细信息,请查看 Jersey documentation about filters and interceptors。
如何在 REST 中使用 gzip 过滤器 API? 另外,假设我想在一个地方实施。有没有办法配置 20 APIs,只有少数 APIs 使用它。
任何文档都会有所帮助。
可以用 WriterInterceptor
:
public class GZIPWriterInterceptor implements WriterInterceptor {
@Override
public void aroundWriteTo(WriterInterceptorContext context)
throws IOException, WebApplicationException {
final OutputStream outputStream = context.getOutputStream();
context.setOutputStream(new GZIPOutputStream(outputStream));
context.proceed();
}
}
然后在你的 ResourceConfig
/ Application
子类中注册 WriterInterceptor
:
@ApplicationPath("/api")
public class MyApplication extends ResourceConfig {
public MyApplication() {
register(GZIPWriterInterceptor.class);
}
}
要将拦截器绑定到某些资源方法或 类,您可以使用
有关详细信息,请查看 Jersey documentation about filters and interceptors。