public class PayloadArgumentResolver extends ObjectSE implements HandlerMethodArgumentResolver
MessageConverter
を使用してメッセージのペイロードを抽出および変換するリゾルバー。また、引数に Validation アノテーションが付けられている場合は、Validator
を使用してペイロードを検証します。 この HandlerMethodArgumentResolver
は、すべての型をサポートし、Payload
アノテーションを必要としないため、最後に並べ替える必要があります。
コンストラクターと説明 |
---|
PayloadArgumentResolver(MessageConverter messageConverter) 指定された MessageConverter で新しい PayloadArgumentResolver を作成します。 |
PayloadArgumentResolver(MessageConverter messageConverter, Validator validator) |
PayloadArgumentResolver(MessageConverter messageConverter, Validator validator, boolean useDefaultResolution) |
修飾子と型 | メソッドと説明 |
---|---|
protected boolean | isEmptyPayload(ObjectSE payload) 指定された payload が空かどうかを指定します。 |
ObjectSE | resolveArgument(MethodParameter parameter, Message<?> message) メソッドパラメーターを特定のメッセージの引数値に解決します。 |
boolean | supportsParameter(MethodParameter parameter) 指定されたメソッドパラメーターがこのリゾルバーによってサポートされているかどうか。 |
protected void | validate(Message<?> message, MethodParameter parameter, ObjectSE target) 該当する場合、ペイロードを検証します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public PayloadArgumentResolver(MessageConverter messageConverter)
MessageConverter
で新しい PayloadArgumentResolver
を作成します。messageConverter
- 使用する MessageConverter (必須)public PayloadArgumentResolver(MessageConverter messageConverter, Validator validator)
messageConverter
- 使用する MessageConverter (必須)validator
- 使用するバリデータ (オプション)public PayloadArgumentResolver(MessageConverter messageConverter, Validator validator, boolean useDefaultResolution)
messageConverter
- 使用する MessageConverter (必須)validator
- 使用するバリデータ (オプション)useDefaultResolution
- "true" (デフォルト)の場合、このリゾルバーはすべてのパラメーターをサポートします。"false" の場合、@Payload
アノテーションが付いた引数のみがサポートされます。public boolean supportsParameter(MethodParameter parameter)
HandlerMethodArgumentResolver
HandlerMethodArgumentResolver
の supportsParameter
parameter
- チェックするメソッドパラメーター true
。それ以外の場合は false
@Nullable public ObjectSE resolveArgument(MethodParameter parameter, Message<?> message) throws ExceptionSE
HandlerMethodArgumentResolver
HandlerMethodArgumentResolver
の resolveArgument
parameter
- 解決するメソッドパラメーター。このパラメーターは、true
を返さなければならない HandlerMethodArgumentResolver.supportsParameter(org.springframework.core.MethodParameter)
に事前に渡されている必要があります。message
- 現在処理されているメッセージ null
ExceptionSE
- 引数値の準備でエラーが発生した場合 protected boolean isEmptyPayload(@Nullable ObjectSE payload)
payload
が空かどうかを指定します。payload
- チェックするペイロード (null
にすることができます)protected void validate(Message<?> message, MethodParameter parameter, ObjectSE target)
デフォルトの実装では、@javax.validation.Valid
、Spring の Validated
、名前が "Valid" で始まるカスタムアノテーションをチェックします。
message
- 現在処理されているメッセージ parameter
- メソッドパラメーター target
- ターゲットペイロードオブジェクト MethodArgumentNotValidException
- バインディングエラーの場合