在Spring Boot Jersey中使用Jersey Filter

时间:2017-06-06 22:08:21

标签: spring-boot filter jersey

我有一个Jersey rest API,我们计划迁移到Spring启动。

我有一个过滤器,它在过滤器中实现了ContainerRequestFilter并且有@Provider个注释。我在ResourceConfig中注册了过滤器。但我仍然没有看到过滤器正在执行。

但是我收到一条警告信息: - 提供者"我的过滤器类"在SERVER运行时中注册的实现不会实现SERVER运行时中适用的任何提供程序接口。由于约束配置问题,提供商"我的过滤器类"将被忽略。

我想使用jersey作为servlet,所以更换球衣以表现为过滤器对我的应用程序不起作用。

有人可以帮我吗?

这是我的代码

泽西过滤器

@Provider
public class CustomJerseyLoggingFilter implements ContainerRequestFilter, ContainerResponseFilter {

    @Override
    public ContainerRequest filter(ContainerRequest request) { }

    @Override
    public ContainerResponse filter(ContainerRequest request, ContainerResponse response) { }
}

@Component
public class JerseyConfig extends ResourceConfig {

    public JerseyConfig() {
         register(CustomJerseyLoggingFilter.class);
    }
}

1 个答案:

答案 0 :(得分:3)

您正在实施错误的ContainerRequestFilter。你使用的是来自Jersey 1.x.我不知道为什么你的项目中甚至还有Jersey 1.x罐子。您应该实现的ContainerRequestFilter(对于2.x)是

  

javax.ws.rs.container.ContainerRequestFilter   javax.ws.rs.container.ContainerResponseFilter