Пользовательские аннотации валидатора ограничений не выполняютсяJAVA

Программисты JAVA общаются здесь
Anonymous
Пользовательские аннотации валидатора ограничений не выполняются

Сообщение Anonymous »

После большого количества серфинга, поиска здесь, читать статьи и пробовать многочисленные вещи, по какой-то причине мое пользовательское ограничение в моем весеннем веб-приложении не стреляет. Кажется, я не могу понять это, поэтому я опрошу аудиторию. Весна 4.3.13, Hibernate 5.3.0-Final. Ниже приведены мои файлы. На этом этапе я пытаюсь реализовать проверку кросс-параметра. Пример тривиальен: если два параметра не равны, проверка не удается. Файлы: < /p>

package com.xxx.yyy;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import com.xxx.validator.ValuesValidator;

public interface IGetValues {

@Path("/{value1}/{value2}")
@GET
@ValuesValidator
public MyResponse getValues(@PathParam("value1") String value1, @PathParam("value2") String value2);

}
< /code>

Next: < /p>

package com.xxx.yyy;

import org.springframework.stereotype.Component;
import com.xxx.validator.ValuesValidator;

@Component
public class GetValuesImpl implements IGetValues {

@Override
@ValuesValidator
public MyResponse getValues(String value1, String value2) {
return new MyResponse();
}
}
< /code>

Next: < /p>

package com.xxx.yyy.validator;

import java.lang.annotation.Documented;
import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.CONSTRUCTOR;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import javax.validation.Constraint;
import javax.validation.Payload;
import javax.validation.constraintvalidation.SupportedValidationTarget;

@Target({METHOD, CONSTRUCTOR, ANNOTATION_TYPE})
@Retention(RUNTIME)
@Constraint(validatedBy = ValuesValidatorImpl.class)
@Documented
@SupportedValidationTarget(ValidationTarget.PARAMETERS)

public @interface ValuesValidator {
String message() default "The two values don't match";
Class[] groups() default {};
Class

Подробнее здесь: https://stackoverflow.com/questions/522 ... g-executed

Вернуться в «JAVA»