[英]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.