2

我们目前正在使用JerseyOAuth 过滤器。要求是我们需要将数据报(以及任何适用的异常)一起推ContainerRequest送到提供异步工作ContainerResponse的 API 的第三方数据存储。push我已经阅读了ContainerRequestFiltersContainerResponseFilters接口和LoggingFilter(它使用 aLogger来写入数据)。我不想分别调用两次push来发送请求和响应数据报,而是想将其组合成一个调用。我看到ContainerResponseFilters两者都需要ContainerRequestContainerResponse,因此实现该接口以将这些数据推送到一起是否可行且良好。即使 OAuth 过滤器抛出一些其他异常,这也会起作用吗?还有其他更好的选择吗?

提前致谢。

4

1 回答 1

-1

替别人回答,

AFAIK,没有直接的方法将请求和响应数据放在一起,因为ContainerRequestFilters实现处理ContainerRequest并读取输入流并且ContainerResponseFilters实现处理ContainerResponse对象。filter在实现方法中仍然可以访问请求标头ContainerResponseFilters,但不能访问实体。我不得不使用属性映射(似乎是可变的)作为临时映射来放置请求实体并在响应过滤器中检索它。它看起来像一个肮脏的黑客,但我没有找到任何其他方法。

于 2013-01-05T16:31:34.790 回答