インターフェース MethodValidator
- すべての既知の実装クラス:
HandlerMethodValidator,MethodValidationAdapter
public interface MethodValidator
メソッド検証を適用し、結果を処理するための契約。
MethodValidationResult を返すメソッドと、デフォルトで MethodValidationException を発生させる結果を処理するメソッドを公開します。- 導入:
- 6.1
- 作成者:
- Rossen Stoyanchev
メソッドのサマリー
修飾子と型メソッド説明default voidapplyArgumentValidation(ObjectSE target, MethodSE method, MethodParameter[] parameters, ObjectSE[] arguments, ClassSE<?>[] groups) validateArguments(java.lang.Object, java.lang.reflect.Method, org.springframework.core.MethodParameter[], java.lang.Object[], java.lang.Class<?>[])に委譲して検証結果を処理します。デフォルトでは、エラーが発生した場合にMethodValidationExceptionが発生します。default voidapplyReturnValueValidation(ObjectSE target, MethodSE method, MethodParameter returnType, ObjectSE returnValue, ClassSE<?>[] groups) validateReturnValue(java.lang.Object, java.lang.reflect.Method, org.springframework.core.MethodParameter, java.lang.Object, java.lang.Class<?>[])に委譲して検証結果を処理します。デフォルトでは、エラーが発生した場合にMethodValidationExceptionが発生します。ClassSE<?>[]determineValidationGroups(ObjectSE target, MethodSE method) 該当する検証グループを決定します。validateArguments(ObjectSE target, MethodSE method, MethodParameter[] parameters, ObjectSE[] arguments, ClassSE<?>[] groups) 指定されたメソッド引数を検証し、検証結果を返します。validateReturnValue(ObjectSE target, MethodSE method, MethodParameter returnType, ObjectSE returnValue, ClassSE<?>[] groups) 指定された戻り値を検証し、検証結果を返します。
メソッドの詳細
determineValidationGroups
該当する検証グループを決定します。デフォルトでは、メソッドまたはクラスレベルの@Validatedアノテーションから取得されます。- パラメーター:
target- ターゲットオブジェクトmethod- ターゲットメソッド- 戻り値:
Class配列としての該当する検証グループ
validateArguments
MethodValidationResult validateArguments(ObjectSE target, MethodSE method, @Nullable MethodParameter[] parameters, ObjectSE[] arguments, ClassSE<?>[] groups) 指定されたメソッド引数を検証し、検証結果を返します。- パラメーター:
target- ターゲットオブジェクトmethod- ターゲットメソッドparameters- パラメーター(すでに作成されており利用可能な場合)arguments- 検証する候補の引数値groups-determineValidationGroups(java.lang.Object, java.lang.reflect.Method)の検証グループ- 戻り値:
- 検証の結果
applyArgumentValidation
default void applyArgumentValidation(ObjectSE target, MethodSE method, @Nullable MethodParameter[] parameters, ObjectSE[] arguments, ClassSE<?>[] groups) validateArguments(java.lang.Object, java.lang.reflect.Method, org.springframework.core.MethodParameter[], java.lang.Object[], java.lang.Class<?>[])に委譲し、検証結果を処理します。デフォルトでは、エラーの場合はMethodValidationExceptionが発生します。実装では、メソッドにErrorsを挿入するなど、代替処理を提供する場合があります。- 例外:
MethodValidationException- 未処理のエラーが発生した場合。
validateReturnValue
MethodValidationResult validateReturnValue(ObjectSE target, MethodSE method, @Nullable MethodParameter returnType, @Nullable ObjectSE returnValue, ClassSE<?>[] groups) 指定された戻り値を検証し、検証結果を返します。- パラメーター:
target- ターゲットオブジェクトmethod- ターゲットメソッドreturnType- 戻りパラメーター (すでに作成されて使用可能な場合)returnValue- 検証する戻り値groups-determineValidationGroups(java.lang.Object, java.lang.reflect.Method)の検証グループ- 戻り値:
- 検証の結果
applyReturnValueValidation
default void applyReturnValueValidation(ObjectSE target, MethodSE method, @Nullable MethodParameter returnType, @Nullable ObjectSE returnValue, ClassSE<?>[] groups) validateReturnValue(java.lang.Object, java.lang.reflect.Method, org.springframework.core.MethodParameter, java.lang.Object, java.lang.Class<?>[])に委譲して検証結果を処理します。デフォルトでは、エラーが発生した場合にMethodValidationExceptionが発生します。実装では代替処理が提供される場合があります。- 例外:
MethodValidationException- 未処理のエラーが発生した場合。