Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java spring引导中的自定义参数验证程序_Java_Spring Boot_Customvalidator - Fatal编程技术网

Java spring引导中的自定义参数验证程序

Java spring引导中的自定义参数验证程序,java,spring-boot,customvalidator,Java,Spring Boot,Customvalidator,我创建了一个自定义验证器来验证传递给转换器中函数的字符串。但是,没有调用自定义验证器。我错过什么了吗 OperationParameter.java 在验证器类上设置@SupportedValidationTarget(ValidationTarget.PARAMETERS)在验证器类上设置@SupportedValidationTarget(ValidationTarget.PARAMETERS)是否可以将StringToOperation标记为@组件?然后Spring将进行验证。我尝试了,但

我创建了一个自定义验证器来验证传递给转换器中函数的字符串。但是,没有调用自定义验证器。我错过什么了吗

OperationParameter.java


在验证器类上设置
@SupportedValidationTarget(ValidationTarget.PARAMETERS)
在验证器类上设置
@SupportedValidationTarget(ValidationTarget.PARAMETERS)
是否可以将
StringToOperation
标记为
@组件
?然后Spring将进行验证。我尝试了,但仍然没有调用验证。您还可以显示
ConversionService
类以及创建/注入
StringToOperation
converter的部分吗?org.springframework.core.convert.ConversionService是自动连接的,并根据参数自动调用。I认为
ConversionService
StringToOperation
不是一回事。另外,争论也不合适。我假设您使用
@Autowired
stringtoooperation
注入
ConversionService
。但是你能把这个代码放在这里吗?为了进行交叉检查,是否可以将
StringToOperation
标记为
@组件
?然后Spring将进行验证。我尝试了,但仍然没有调用验证。您还可以显示
ConversionService
类以及创建/注入
StringToOperation
converter的部分吗?org.springframework.core.convert.ConversionService是自动连接的,并根据参数自动调用。I认为
ConversionService
StringToOperation
不是一回事。另外,争论也不合适。我假设您使用
@Autowired
stringtoooperation
注入
ConversionService
。但是你能把这个代码放在这里吗?只是为了交叉检查,如果您的意思是将前面提到的注释放在我的OperationParameterValidator类上,那么这是不起作用的。但是,我的isValid(…)函数没有被调用。如果您的意思是将前面提到的注释放在我的OperationParameterValidator类上,那么这是不起作用的。但是,没有调用我的isValid(…)函数。
@Documented
@Constraint(validatedBy = OperationParameterValidation.class)
@Target( { ElementType.PARAMETER
        })
@Retention(RetentionPolicy.RUNTIME)
public @interface OperationParameter {
    String message() default "Operation Parameter Invalid";

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

    Class<? extends Payload>[] payload() default { };
}
public class OperationParameterValidation implements ConstraintValidator<OperationParameter, String> {

    @Override
    public boolean isValid(String value, ConstraintValidatorContext context) {
       System.out.println("Validator called");
        // validation process
        // return true / false;
    }

}
@Component
public class StringToOperation implements Converter<String, Operation> {

    @Override
    public Operation convert(@Valid @OperationParameter String source) {
         // Even I pass wrong String this function is executed successfully, and no print from validator
    }
}
public class Service {

    @Autowired
    ConversionService conversionService;

    public void action() {

        String action = "";
        Operation addInsertOperation = conversionService.convert(action, Operation.class);
    }

}