我们目前正在使用Jersey
OAuth过滤器。要求是我们需要将ContainerRequest
和ContainerResponse
数据报(以及任何例外,如果适用)一起推送到第三方数据存储,该数据存储提供异步工作的push
API。我读过关于ContainerRequestFilters
和ContainerResponseFilters
接口以及LoggingFilter
(使用Logger
来写数据)。我想将两个push
调用分别发送请求和响应数据报,而不是将它组合成一个调用。我看到ContainerResponseFilters
同时使用ContainerRequest
和ContainerResponse
,因此实现该接口以将这些数据推送到一起是可行和良好的。即使OAuth过滤器抛出其他一些异常,它也能工作吗?还有其他更好的选择吗?
提前致谢。
答案 0 :(得分:-1)
为了别人而回答,
AFAIK,由于ContainerRequestFilters
实施处理ContainerRequest
并且读取输入流和ContainerResponseFilters
实施处理ContainerResponse
,因此没有直接将请求和响应数据放在一起的简单方法{1}}对象。仍然可以在filter
实现的ContainerResponseFilters
方法中访问请求标头,但不能访问实体。我不得不使用属性映射(似乎是可变的)作为临时映射来放置请求实体并在响应过滤器中检索它。它看起来像一个肮脏的黑客,但我没有找到任何其他方式。