泽西方法参数验证不会被重新调用

时间:2014-03-03 13:31:06

标签: validation methods jersey resteasy params

我为方法参数创建了一个自定义验证器。

@Target({ METHOD, CONSTRUCTOR, ANNOTATION_TYPE })
@Retention(RUNTIME)
@Constraint(validatedBy = {OpsaTimeRangeValidator.class})
public @interface OpsaTimeRangeConstraint
{
    String message() default "Failed to validate to and from ranges";

    Class<?>[] groups() default {};

    Class<? extends Payload>[] payload() default {};

    //the index parameter in the method parameters for the from time
    int indexOfFromParameterInMethod();
    //the index parameter in the method parameters for the to time
    int indexOfToParameterInMethod();
}

@SupportedValidationTarget(ValidationTarget.PARAMETERS)
public class OpsaTimeRangeValidator implements ConstraintValidator<OpsaTimeRangeConstraint, Object[]

我有一个使用resteasy的休息服务,我正在将我的注释放在其余方法中,但在调用方法之前不会调用验证。

可能是什么问题?

1 个答案:

答案 0 :(得分:1)

您可能需要启用验证:Bean Validation 1.0

将以下注释添加到类中以启用对完整类的验证,或将其添加到方法验证的方法中。

@ValidateRequest

This answer is more more precise (also for newer version)