有什么方法可以使用 arangodb-spring-data 启用 javax.validation.constraints (比如模型中的@NOTNULL注释)?
例如在 mongodb-spring-data 中,您必须添加一个配置类,如:
@Configuration
public class ValidationConfiguration {
@Bean
public ValidatingMongoEventListener validatingMongoEventListener() {
return new ValidatingMongoEventListener(validator());
}
@Bean
public LocalValidatorFactoryBean validator() {
return new LocalValidatorFactoryBean();
}
}
我尝试过简单地使用没有任何配置的注释但不起作用
答案 0 :(得分:1)
Spring Data ArangoDB中没有像ValidatingMongoEventListener
这样的东西。在将实体保存到数据库之前,您必须自己验证实体。
<强>更新强>
您可以像这样验证您的对象:
在控制器方法上使用javax.validation.Valid
注释:
@PostMapping("/myobjects")
@ResponseBody
public ResponseEntity<?> saveMyObject(@Valid @RequestBody MyObject obj) {
repo.save(obj);
return ResponseEntity.status(HttpStatus.CREATED).build();
}
或者手动完成:
@Autowired
private javax.validation.Validator validator;
public void saveMyObject(MyObject obj) {
Set<ConstraintViolation<MyObject>> violations = validator.validate(obj);
if (!violations.isEmpty()) {
throw new ConstraintViolationException(violations);
}
repo.save(obj);
}