検証

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());
}