I try to make my own annotation in Java for my exercise which say know if a string is a number in parameter but i don’t understand why it don’t run.
that is my interface
@Constraint(validatedBy = TestIfNumberValidator.class)
@Target({ElementType.PARAMETER,ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface TestIfNumber {
String message() default "Not a number";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
,that is my Validator
public class TestIfNumberValidator implements ConstraintValidator<TestIfNumber, String> {
@Override
public boolean isValid(String value, ConstraintValidatorContext validatorContext) {
return value != null && value.matches("\d+");
}
}
and that where i put my annotation
@RestController
public class CalculatorService {
@GetMapping(value = "/hello/add/{Nbr1}/{Nbr2}")
public String addition( @PathVariable @TestIfNumber String Nbr1, @PathVariable Integer Nbr2){
return "Le resultat de l'addition est"
}
I’ve tried to display an error message when i write a string in my url parameter, but nothing happens