我对 JAX-RS 2.0规范的WriterInterceptor
接口的确切意图感到有些困惑。
到目前为止我所知道的:
WriterInterceptor
之前调用MessageBodyWriter
MessageBodyWriter
关注将object
转换为流 我的问题: Reader / Writer Interceptor 应该用于哪个意图?
答案 0 :(得分:3)
在服务器端,您可以让Message Body Writers执行实体编组,而拦截器可以处理:
例如:
@Override
void aroundWriteTo(WriterInterceptorContext ctx) ... {
OutputStream old = ctx.getOutputStream();
GZIPOutputStream gzipOutputStream = new GZIPOutputStream(old);
ctx.setOutputStream(gzipOutputStream);
updateHeaders(ctx);
try {
ctx.proceed();
} finally {
gzipOutputStream.finish();
ctx.setOutputStream(old);
}
}
(上面的代码来自JAX-RS 2.0规范,第6.3节)
HTH。