【发布时间】:2014-08-15 18:32:47
【问题描述】:
我想在 JAX-RS 过滤器中捕获并记录响应负载。这是我用来拦截响应的过滤器方法的代码 sn-p。 (仅供参考 - 我正在使用 RestEasy 进行实施)
@Override
public void filter(final ContainerRequestContext requestContext, final ContainerResponseContext responseContext) throws IOException {
...
final OutputStream out = responseContext.getEntityStream();
try (ByteArrayOutputStream baos = new ByteArrayOutputStream()) {
out.write(baos.toByteArray());
....
}
}
但是,ByteArrayOutputStream 结果是空的。查看 RestEasy 代码,它使用 DeferredOutputStream,但不确定在拉取响应有效负载方面有何影响。我曾尝试直接写入 byte[] ,但这也无济于事。我在这里错过了什么吗?谢谢。
【问题讨论】: