Eclipse中的RESTeasy名称绑定注释错误

时间:2016-11-16 11:20:38

标签: java eclipse jax-rs resteasy wildfly-10

我试图将名称绑定到JAX-RS中的过滤器,因此我可以在其余服务中保护一些方法,如下所示:

安全名称绑定:

@NameBinding
@Target({ ElementType.TYPE, ElementType.METHOD })
@Retention(value = RetentionPolicy.RUNTIME)
public @interface Secured {
}

身份验证过滤器:

@Secured
@Provider
@Priority(Priorities.AUTHENTICATION)
public class AuthenticationAgent implements ContainerRequestFilter {

    @Override
    public void filter(ContainerRequestContext requestContext) throws IOException {
         //do something
    }
}

然而,当我将安全注释添加到我的过滤器时,eclipse会给我这个错误。

  

没有JAX-RS应用程序,资源或资源方法   名称绑定注释。

enter image description here

2 个答案:

答案 0 :(得分:2)

这不是一个会阻止JAX-RS工作的错误。它更像是一个警告(特定于该编辑器)。

仅当您希望将过滤器限制为也使用名称绑定注释注释的资源类/方法时,才应使用名称绑定。如果是这种情况,则注释要通过该过滤器的类/方法。如果您希望所有内容都通过过滤器,那么完全忘记注释。只是摆脱它。

答案 1 :(得分:1)

这些类型的错误并不是很大的错误。对于JAX-RS上的这种类型的错误,我们可以将其标记为警告或完全忽略它。

对于Eclipse,请转到Window > Preferences > Jboss Tools > JAX-RS > JAX-RS Validator > JAX-RS Name Bindings并将Missing @Retention annotation设置为“错误”以外的其他内容。 (是的,偏好名称具有误导性)。

(要针对特定​​项目自定义,请点击右上角的Configure Project Specific Settings...