如何在Drop Wizard中的每个API调用之前运行Custom ServletRequestListener

时间:2016-08-30 18:22:42

标签: java dropwizard

我是新手删除向导java框架并尝试编写自定义ServletRequestListener,它将在执行API Web请求之前和之后充当过滤器。

我创建了以下课程。

@WebListener
public class CustomRequestListener implements ServletRequestListener {

private static final Logger logger = LoggerFactory.getLogger(CustomRequestListener.class);

@Override
public void requestDestroyed(ServletRequestEvent servletRequestEvent) {
    logger.info("Iam here");
        // do something
}

@Override
public void requestInitialized(ServletRequestEvent servletRequestEvent) {
      //..do something once the thread execution is over
}

我希望在进行Rest API调用之前执行上面的过滤器。 它对我不起作用,还有其他办法吗?

1 个答案:

答案 0 :(得分:1)

根据您使用的REST API,它可能不使用servlet,因此您可能看不到对ServletReqestListener的任何调用。 有关如何添加日志记录请求过滤器的信息,请参阅How do I get Jersey 2.2 (JAX-RS) to generate log output, including Json request bodies,或在此处查看有关日志记录的官方球衣文档的https://jersey.java.net/documentation/latest/logging_chapter.html#logging