簡體   English   中英

Spring Boot MongoRepository忽略驗證

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM