Java bean验证后调用的拦截器

Java bean验证后调用的拦截器,java,rest,jax-rs,interceptor,bean-validation,Java,Rest,Jax Rs,Interceptor,Bean Validation,我有以下RESTful web服务: @PermitAll @POST @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) @Interceptors(AuthorizationInterceptor.class) public JsonObject addUtente(@QueryParam("token") String token,

我有以下RESTful web服务:

@PermitAll
@POST
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
@Interceptors(AuthorizationInterceptor.class)
public JsonObject addUtente(@QueryParam("token") String token, 
                            @Valid UtenteDTO utenteDTO){
}
AuthorizationInterceptor
包含一个用
@AroundInvoke
注释的方法。在侦听器调用之前,对
utedto
对象进行Bean验证。这是一个问题,因为令牌和角色验证是在拦截器中实现的,它必须是要执行的第一个控件


在bean验证过程之前,如何调用
AuthorizationInterceptor
中的方法?

您是否使用基于CDI的拦截器?您是否尝试过
@Priority
?是的,我正在使用基于CDI的拦截器。
@Priority
是否只有在方法有多个拦截器的情况下才有用?我没有找到拦截器的解决方案。我将AuthorizationInterceptor作为
ContainerRequestFilter
的一个实现。我用@Provider和@Authorize(自定义接口)注释了这个类。带有@Authorize注释的REST服务将接受令牌和角色验证。这发生在bean验证调用之前。验证作为拦截器执行。您使用的是
@Provider
这一事实让我觉得您认为您使用的是CDI拦截器,但实际上您使用的是JAX-RS拦截器。现在我使用JAX-RS过滤器,因为它们尊重我想要的优先级。