I Create one Custom Validator with Spring Boot:
public class AberturaMatriculaValidator implements Validator {
@Autowired
IQualificacao iQualificacao;
@Override
public boolean supports(Class<?> clazz) {
return AberturaMatricula.class.equals(clazz);
}
@Override
public void validate(Object target, Errors errors) {//TODO Necessita Validações mais complexas, como verificar se o valor existe em uma determinada lista e tal.
AberturaMatricula obj = (AberturaMatricula) target;
List<TbQualificacao> qualificacaoList = iQualificacao.findByNatureza("IMOVEIS");
System.out.println(qualificacaoList.size());
}
}
and add he in my Controller:
@RestController
@RequestMapping("/ri")
public class RIController {
@InitBinder("aberturaMatricula")
protected void initAberturaMatriculaBinder(WebDataBinder binder) {
binder.addValidators(new AberturaMatriculaValidator());
}
@RequestMapping(value = "/selo/abertura/", method = RequestMethod.POST)
public AberturaMatricula selarAbertura(@RequestBody @Valid AberturaMatricula aberturaMatricula){
...
}
}
So inside my validator the
@Autowired
IQualificacao iQualificacao;
don`t work, if I put this repository in my controller, works fine
---------------------SOLUTION (tks for @sanluck)----------
My validator:
public class AberturaMatriculaValidator implements Validator {
private IQualificacao iQualificacao;
public AberturaMatriculaValidator(IQualificacao iQualificacao) {
this.iQualificacao = iQualificacao;
}
@Override
public boolean supports(Class<?> clazz) {
return AberturaMatricula.class.equals(clazz);
}
@Override
public void validate(Object target, Errors errors) {//TODO Necessita Validações mais complexas, como verificar se o valor existe em uma determinada lista e tal.
AberturaMatricula obj = (AberturaMatricula) target;
}
}
and in my controller:
@RestController
@RequestMapping("/ri")
public class RIController {
@Autowired
IQualificacao iQualificacao;
@InitBinder("aberturaMatricula")
protected void initAberturaMatriculaBinder(WebDataBinder binder) {
binder.addValidators(new AberturaMatriculaValidator(iQualificacao));
}
...
}