驗證
在 Spring Data REST 中註冊 Validator 例項有兩種方式:透過 Bean 名稱進行裝配或手動註冊驗證器。對於大多數情況,簡單的 Bean 名稱字首方式就足夠了。
為了告知 Spring Data REST 您希望將某個 Validator 分配給特定事件,請在 Bean 名稱前加上相關事件的字首。例如,要在新的 Person 例項儲存到倉庫之前對其進行驗證,您可以在 ApplicationContext 中宣告一個 Validator<Person> 例項,其 Bean 名稱為 beforeCreatePersonValidator。由於 beforeCreate 字首與已知的 Spring Data REST 事件匹配,該驗證器將被裝配到正確的事件。
手動分配驗證器
如果您不想使用 Bean 名稱字首方法,則需要將驗證器例項註冊到負責在正確事件發生後呼叫驗證器的 Bean。在實現 RepositoryRestConfigurer 的配置中,覆蓋 configureValidatingRepositoryEventListener 方法並在 ValidatingRepositoryEventListener 上呼叫 addValidator,傳入您希望此驗證器觸發的事件以及驗證器例項。以下示例顯示瞭如何操作
@Override
void configureValidatingRepositoryEventListener(ValidatingRepositoryEventListener v) {
v.addValidator("beforeSave", new BeforeSaveValidator());
}