驗證
在 Spring Data REST 中註冊 Validator
實例有兩種方式:透過 Bean 名稱注入或手動註冊驗證器。在大多數情況下,簡單的 Bean 名稱前綴樣式就已足夠。
為了告知 Spring Data REST 您想要將特定的 Validator
指派給特定的事件,請在 Bean 名稱加上事件的前綴。例如,為了在將 Person
類別的新實例儲存到 Repository 之前進行驗證,您會在 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());
}