【发布时间】:2015-07-06 07:29:30
【问题描述】:
在将 REST 消息体发送到客户端之前,我需要知道它的确切内容是什么,以及在处理之前它的响应,所以我尝试使用 Interceptors,但不幸的是它不工作。 p>
@NameBinding
public @interface DoIt {}
@DoIt
public class MyFilter implements ContainerRequestFilter {...}
@Path("/root")
public class MyResource {
@GET
@DoIt
public String get() {...}
}
我不能使用wireshark来捕获http消息,因为我的服务器只接受Https请求。
我在 Resteasy 中搜索了很多并找到了许多记录日志的方法,但其中大多数都是旧的且已弃用,并且上述新方法不起作用。 有谁知道如何解决这个问题?
RestEasy 3.0.9
JBoss EAP 6.3 将 restEasy 更新到 3.0.9
谢谢
编辑:
我也为 ContainerRequestFilter 测试 @Privider。
也适用于我的界面
@Target({ ElementType.TYPE, ElementType.METHOD })
@Retention(value = RetentionPolicy.RUNTIME)
@NameBinding
并将其添加到 web.xml
<context-param>
<param-name>resteasy.providers</param-name>
<param-value>com.mypackage.RequestMessageLogger</param-value>
</context-param>
仍然没有调用过滤器。
【问题讨论】:
-
您使用的是哪个应用服务器?
-
你确定更新真的有效吗?
-
是的,我的请求已发送,我完全收到响应。我需要一个复杂请求的日志,但我认为我的请求丢失了一些东西。
-
只是不确定您是否真的在运行新版本或不知道 ContainerRequestFilter 的原始版本。
-
这样我应该会看到找不到类,运行时错误,但没有。
标签: logging resteasy interceptor