クラス MethodValidationInterceptor
java.lang.ObjectSE
org.springframework.validation.beanvalidation.MethodValidationInterceptor
- 実装されたすべてのインターフェース:
Advice
、Interceptor
、MethodInterceptor
アノテーション付きメソッドでメソッドレベルの検証を実行するために JSR-303 プロバイダーに委譲する AOP アライアンス
MethodInterceptor
実装。 該当するメソッドには、パラメーターおよび / または戻り値に Constraint
EE アノテーションが付いています (後者の場合、メソッドレベルで指定され、通常はインラインアノテーションとして指定されます)。
次に例を示します: public @NotNull Object myValidMethod(@NotNull String arg1, @Max(10) int arg2)
検証エラーが発生した場合、インターセプターは ConstraintViolationException
EE を発生させるか、違反を MethodValidationResult
に適応させて MethodValidationException
を発生させることができます。
検証グループは、Spring の Validated
アノテーションを通じて、それを含むターゲットクラスの型レベルで指定でき、そのクラスのすべてのパブリックサービスメソッドに適用されます。デフォルトでは、JSR-303 はデフォルトグループに対してのみ検証します。
この機能には、Bean 検証 1.1+ プロバイダーが必要です。
- 導入:
- 3.1
- 作成者:
- Juergen Hoeller, Rossen Stoyanchev
- 関連事項:
コンストラクターのサマリー
コンストラクターコンストラクター説明下にあるデフォルトの JSR-303 バリデーターを使用して、新しい MethodValidationInterceptor を作成します。MethodValidationInterceptor
(ValidatorEE validator) 指定された JSR-303 バリデーターを使用して、新しい MethodValidationInterceptor を作成します。MethodValidationInterceptor
(ValidatorFactoryEE validatorFactory) 指定された JSR-303 ValidatorFactory を使用して新しい MethodValidationInterceptor を作成します。MethodValidationInterceptor
(SupplierSE<ValidatorEE> validator) 提供された (潜在的に遅延初期化された) Validator の新しい MethodValidationInterceptor を作成します。MethodValidationInterceptor
(SupplierSE<ValidatorEE> validator, boolean adaptViolations) 提供された (潜在的に遅延初期化された) Validator の新しい MethodValidationInterceptor を作成します。方法の概要
修飾子と型メソッド説明protected ClassSE<?>[]
determineValidationGroups
(MethodInvocation invocation) 特定のメソッド呼び出しに対して検証する検証グループを決定します。invoke
(MethodInvocation invocation) このメソッドを実装して、呼び出しの前後に追加の処理を実行します。
コンストラクターの詳細
MethodValidationInterceptor
public MethodValidationInterceptor()下にあるデフォルトの JSR-303 バリデーターを使用して、新しい MethodValidationInterceptor を作成します。MethodValidationInterceptor
指定された JSR-303 ValidatorFactory を使用して新しい MethodValidationInterceptor を作成します。- パラメーター:
validatorFactory
- 使用する JSR-303 ValidatorFactory
MethodValidationInterceptor
指定された JSR-303 バリデーターを使用して、新しい MethodValidationInterceptor を作成します。- パラメーター:
validator
- 使用する JSR-303 バリデーター
MethodValidationInterceptor
提供された (潜在的に遅延初期化された) Validator の新しい MethodValidationInterceptor を作成します。- パラメーター:
validator
- Validator が使用するための Supplier- 導入:
- 6.0
MethodValidationInterceptor
提供された (潜在的に遅延初期化された) Validator の新しい MethodValidationInterceptor を作成します。- パラメーター:
validator
- Validator が使用するための SupplieradaptViolations
-ConstraintViolation
EE を適応させるかどうか、true
の場合はMethodValidationException
を発生させるか、false
の場合は代わりにConstraintViolationException
EE を発生させるか- 導入:
- 6.1
メソッドの詳細
invoke
インターフェースからコピーされた説明:MethodInterceptor
このメソッドを実装して、呼び出しの前後に追加の処理を実行します。正しい実装としては、必ずJoinpoint.proceed()
を呼び出すようにします。- 次で指定:
- インターフェース
MethodInterceptor
のinvoke
- パラメーター:
invocation
- メソッド呼び出しジョインポイント- 戻り値:
Joinpoint.proceed()
の呼び出しの結果。インターセプターによってインターセプトされる可能性があります- 例外:
ThrowableSE
- インターセプターまたはターゲットオブジェクトが例外をスローする場合
determineValidationGroups
特定のメソッド呼び出しに対して検証する検証グループを決定します。デフォルトは、メソッドの
Validated
アノテーションで指定されているか、メソッドの包含ターゲットクラスで指定されている検証グループです。または、ターゲットのない AOP プロキシ (アドバイザーのすべての動作を含む) の場合は、プロキシされたインターフェースもチェックします。- パラメーター:
invocation
- 現在の MethodInvocation- 戻り値:
- Class 配列としての適用可能な検証グループ