【发布时间】:2021-06-27 20:55:57
【问题描述】:
我正在构建一个自定义约束验证器,并不断收到HV000028: Unexpected exception during isValid call.]
奇怪的是,findById 方法在控制台上返回并打印了正确的数据,但出现了上述错误。我怎样才能使它没有错误?
@CrossOrigin(origins = "*", maxAge = 3600)
@RestController
@Validated
public class invitecontroller {
@PostMapping("/v1/invite")
public void invite(@Valid @RequestBody invite invite){
}
}
@inviteconstraints
@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
public class invite {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long inviteid;
private String type;
private Long propertyid;
private Date moveindate;
@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "inviteid")
private List<applicant> applicants;
}
public class inviteconstraint implements ConstraintValidator<inviteconstraints, invite> {
@Autowired propertyrepository propertyrepository;
@Override
public boolean isValid(invite invite, ConstraintValidatorContext context) {
property property = propertyrepository.findById(1L).get();
^^^ **Error Happens Here** ^^^
return true;
}
@Override
public void initialize(inviteconstraints constraintannotation) {
}
}
@Target( { ElementType.TYPE } )
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = inviteconstraint.class)
public @interface inviteconstraints {
public String message() default "Validator Failed";
public Class<?>[] groups() default {};
public Class<? extends Payload>[] payload() default {};
}
【问题讨论】:
标签: spring-boot hibernate-validator customvalidator