驗證
在 Spring Data REST 中,有兩種方法可以註冊 Validator
例項:透過 bean 名稱裝配它,或者手動註冊驗證器。在大多數情況下,簡單的 bean 名稱字首樣式就足夠了。
為了告訴 Spring Data REST 你想把特定的 Validator
分配給特定的事件,在 bean 名稱前加上相關的事件。例如,為了在新的 Person
類的例項被儲存到儲存庫之前進行驗證,你可以在你的 ApplicationContext
中宣告一個 Validator<Person>
的例項,其 bean 名稱為 beforeCreatePersonValidator
。由於 beforeCreate
字首與已知的 Spring Data REST 事件相匹配,該驗證器將被連線到正確的事件。
手動分配驗證器
如果你不喜歡使用 bean 名稱字首方法,你需要向 bean 註冊你的驗證器例項,該 bean 的任務是在正確的事件之後呼叫驗證器。在你的實現了 RepositoryRestConfigurer
的配置中,覆蓋 configureValidatingRepositoryEventListener
方法,並在 ValidatingRepositoryEventListener
上呼叫 addValidator
,傳遞你想要觸發此驗證器的事件以及驗證器的例項。下面的例子展示瞭如何這樣做。
@Override
void configureValidatingRepositoryEventListener(ValidatingRepositoryEventListener v) {
v.addValidator("beforeSave", new BeforeSaveValidator());
}