[英]Spring Boot MongoRepository ignoring validation
我有一个工作正常的Mongodb存储库:
@RepositoryRestResource(collectionResourceRel = "audits", path = "audits")
public interface AuditRepository extends MongoRepository<Audit, String> {
}
我有一个bean, Audit
是:
@Data
@Document
@JsonIgnoreProperties(ignoreUnknown = true)
@Validated
public class Audit {
@Id private String id;
@NotNull
private Date start;
@NotNull
private Date end;
}
我正在使用Lombok获取getter / setter。
我希望Repository验证Audit
bean,但它会在开始日期和结束日期保存一个null
的审计bean。
我将它添加到build.gradle
:
compile("org.springframework.boot:spring-boot-starter-validation")
如何告诉REST服务使用验证? 我没有在RepositoryRestConfiguration
中看到任何会打开它的东西......
您必须导入验证库:
行家
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.4.2.Final</version>
</dependency>
或者是gradle
compile group: 'org.hibernate', name: 'hibernate-validator', version: '5.4.2.Final'
你必须配置两个bean:
@Bean
public LocalValidatorFactoryBean localValidatorFactoryBean() {
return new LocalValidatorFactoryBean();
}
@Bean
public ValidatingMongoEventListener validatingMongoEventListener(LocalValidatorFactoryBean lfb) {
return new ValidatingMongoEventListener(lfb);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.