对于最新的稳定版本,请使用 Spring Data REST 4.4.0spring-doc.cn

验证

有两种方法可以在 Spring Data REST 中注册实例:通过 bean 名称连接它或手动注册验证器。在大多数情况下,简单的 bean 名称前缀样式就足够了。Validatorspring-doc.cn

为了告诉 Spring Data REST 您希望将特定事件分配给特定事件,请在 bean 名称前加上相关事件。例如,要在将新实例保存到存储库之前验证类的实例,可以在 Bean 名称为 .由于前缀与已知的 Spring Data REST 事件匹配,因此该验证器将连接到正确的事件。ValidatorPersonValidator<Person>ApplicationContextbeforeCreatePersonValidatorbeforeCreatespring-doc.cn

手动分配验证人

如果您不想使用 bean 名称前缀方法,则需要向 bean 注册验证器的实例,该 bean 的工作是在正确的事件之后调用验证器。在实现 的配置中,覆盖方法并调用 ,传递要触发此验证程序的事件和验证程序的实例。以下示例显示了如何执行此操作:RepositoryRestConfigurerconfigureValidatingRepositoryEventListeneraddValidatorValidatingRepositoryEventListenerspring-doc.cn

@Override
void configureValidatingRepositoryEventListener(ValidatingRepositoryEventListener v) {
  v.addValidator("beforeSave", new BeforeSaveValidator());
}