我有以下用于驗證更新請求的驗證器。
@Component
public class UpdateDateValidator implements ConstraintValidator<ValidateDateCreditor, BasicUpdateRequest> {
@Autowired
private CreditorRepository creditorRepository;
@Override
public boolean isValid(BasicUpdateRequest object, ConstraintValidatorContext constraintValidatorContext) {
Creditor creditor = creditorRepository.findById(object.getIdCreditor()).orElseThrow(() -> new NoSuchElementException(Constants.ELEMENT_NOT_FOUND_MSG ": CREDITOR"));
if (creditor.getDateDeadline() == null
|| UtilityDate.compareDateNoTime(object.getDateDeadline(), creditor.getDateDeadlineConvention()) <= 0) {
return true;
}
return false;
}
}
object.getIdCreditor() 有值,但是 findById 方法“creditorRepository.findById(object.getIdCreditor())”的執行進入 NullPointer 例外
我不明白出了什么問題。
uj5u.com熱心網友回復:
我通過添加解決了它:
@Override
public void initialize(ValidateDateCreditor constraintAnnotation) {
ConstraintValidator.super.initialize(constraintAnnotation);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/441321.html
