mik*_*keb 3 java validation spring mongodb spring-boot
我有一个运行良好的 Mongodb 存储库:
@RepositoryRestResource(collectionResourceRel = "audits", path = "audits")
public interface AuditRepository extends MongoRepository<Audit, String> {
}
Run Code Online (Sandbox Code Playgroud)
我有一个豆子,Audit那就是:
@Data
@Document
@JsonIgnoreProperties(ignoreUnknown = true)
@Validated
public class Audit {
@Id private String id;
@NotNull
private Date start;
@NotNull
private Date end;
}
Run Code Online (Sandbox Code Playgroud)
我将 Lombok 用于 getter/setter。
我希望 Repository 验证Auditbean,但它null在开始和结束日期保存了一个审计 bean 。
我将此添加到build.gradle:
compile("org.springframework.boot:spring-boot-starter-validation")
如何告诉 REST 服务使用验证?我看不到任何东西RepositoryRestConfiguration会打开它......
小智 6
您必须导入验证库:
行家
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.4.2.Final</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
或 gradle
compile group: 'org.hibernate', name: 'hibernate-validator', version: '5.4.2.Final'
Run Code Online (Sandbox Code Playgroud)
并且您必须配置两个bean:
@Bean
public LocalValidatorFactoryBean localValidatorFactoryBean() {
return new LocalValidatorFactoryBean();
}
@Bean
public ValidatingMongoEventListener validatingMongoEventListener(LocalValidatorFactoryBean lfb) {
return new ValidatingMongoEventListener(lfb);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1513 次 |
| 最近记录: |