在 arangodb-spring-data 中启用 javax.validation.constraints
Enable javax.validation.constraints in arangodb-spring-data
有任何方法可以使用 arangodb-spring-data 启用 javax.validation.constraints(如模型中的@NOTNULL 注释) ?
例如在mongodb-spring-data中你必须添加一个配置Class likes:
@Configuration
public class ValidationConfiguration {
@Bean
public ValidatingMongoEventListener validatingMongoEventListener() {
return new ValidatingMongoEventListener(validator());
}
@Bean
public LocalValidatorFactoryBean validator() {
return new LocalValidatorFactoryBean();
}
}
我试过在没有任何配置的情况下简单地使用注释,但不起作用
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);
}
有任何方法可以使用 arangodb-spring-data 启用 javax.validation.constraints(如模型中的@NOTNULL 注释) ?
例如在mongodb-spring-data中你必须添加一个配置Class likes:
@Configuration
public class ValidationConfiguration {
@Bean
public ValidatingMongoEventListener validatingMongoEventListener() {
return new ValidatingMongoEventListener(validator());
}
@Bean
public LocalValidatorFactoryBean validator() {
return new LocalValidatorFactoryBean();
}
}
我试过在没有任何配置的情况下简单地使用注释,但不起作用
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);
}