検証
Validator
インスタンスを Spring Data REST に登録する方法は 2 つあります。Bean 名で接続するか、バリデーターを手動で登録します。ほとんどの場合、単純な Bean 名プレフィックススタイルで十分です。
特定のイベントに特定の Validator
を割り当てたい Spring Data REST を伝えるには、Bean 名の前に問題のイベントを付けます。例: 新しいものがリポジトリに保存される前に Person
クラスのインスタンスを検証するには、ApplicationContext
で Validator<Person>
のインスタンスを beforeCreatePersonValidator
の Bean 名で宣言します。beforeCreate
プレフィックスは既知の Spring Data REST イベントに一致するため、そのバリデーターは正しいイベントに接続されます。
バリデーターを手動で割り当てる
Bean 名プレフィックスアプローチを使用したくない場合は、バリデーターのインスタンスを Bean に登録する必要があります。Bean のジョブは、正しいイベントの後にバリデーターを呼び出すことです。RepositoryRestConfigurer
を実装する構成で、configureValidatingRepositoryEventListener
メソッドをオーバーライドし、ValidatingRepositoryEventListener
で addValidator
を呼び出して、このバリデーターをトリガーするイベントとバリデーターのインスタンスを渡します。次の例は、その方法を示しています。
@Override
void configureValidatingRepositoryEventListener(ValidatingRepositoryEventListener v) {
v.addValidator("beforeSave", new BeforeSaveValidator());
}