public abstract class AbstractMessageConverterMethodArgumentResolver extends ObjectSE implements HandlerMethodArgumentResolver
HttpMessageConverters
を使用してリクエストの本文から読み取ることにより、メソッドの引数値を解決するための基本クラス。修飾子と型 | フィールドと説明 |
---|---|
protected Log | logger |
protected ListSE<HttpMessageConverter<?>> | messageConverters |
コンストラクターと説明 |
---|
AbstractMessageConverterMethodArgumentResolver(ListSE<HttpMessageConverter<?>> converters) コンバーターのみを備えた基本コンストラクター。 |
AbstractMessageConverterMethodArgumentResolver(ListSE<HttpMessageConverter<?>> converters, ListSE<ObjectSE> requestResponseBodyAdvice) コンバーターと Request~ および ResponseBodyAdvice を持つコンストラクター。 |
修飾子と型 | メソッドと説明 |
---|---|
protected ObjectSE | adaptArgumentIfNecessary(ObjectSE arg, MethodParameter parameter) 必要に応じて、指定された引数をメソッドパラメーターに対して適合させます。 |
protected ServletServerHttpRequest | createInputMessage(NativeWebRequest webRequest) 指定された NativeWebRequest から新しい HttpInputMessage を作成します。 |
protected ListSE<MediaType> | getSupportedMediaTypes(ClassSE<?> clazz) MediaType.sortBySpecificity(List) を介して、特定性でソートされた、提供されているすべてのメッセージコンバーターでサポートされているメディア型を返します。 |
protected boolean | isBindExceptionRequired(WebDataBinder binder, MethodParameter parameter) 検証エラーで致命的なバインド例外を発生させるかどうか。 |
protected <T> ObjectSE | readWithMessageConverters(HttpInputMessage inputMessage, MethodParameter parameter, TypeSE targetType) 指定された HttpInputMessage から読み取ることにより、予期されるパラメーター型のメソッド引数値を作成します。 |
protected <T> ObjectSE | readWithMessageConverters(NativeWebRequest webRequest, MethodParameter parameter, TypeSE paramType) 指定されたリクエストから読み取ることにより、予想されるパラメーター型のメソッド引数値を作成します。 |
protected void | validateIfApplicable(WebDataBinder binder, MethodParameter parameter) 該当する場合、バインディングターゲットを検証します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
resolveArgument, supportsParameter
protected final Log logger
protected final ListSE<HttpMessageConverter<?>> messageConverters
public AbstractMessageConverterMethodArgumentResolver(ListSE<HttpMessageConverter<?>> converters)
public AbstractMessageConverterMethodArgumentResolver(ListSE<HttpMessageConverter<?>> converters, @Nullable ListSE<ObjectSE> requestResponseBodyAdvice)
Request~
および ResponseBodyAdvice
を持つコンストラクター。@Nullable protected <T> ObjectSE readWithMessageConverters(NativeWebRequest webRequest, MethodParameter parameter, TypeSE paramType) throws IOExceptionSE, HttpMediaTypeNotSupportedException, HttpMessageNotReadableException
T
- 作成される引数値の予想される型 webRequest
- 現在のリクエスト parameter
- メソッドパラメーター記述子 (null
の場合があります)paramType
- 作成される引数値の型 IOExceptionSE
- リクエストからの読み取りが失敗した場合 HttpMediaTypeNotSupportedException
- 適切なメッセージコンバーターが見つからない場合 HttpMessageNotReadableException
@Nullable protected <T> ObjectSE readWithMessageConverters(HttpInputMessage inputMessage, MethodParameter parameter, TypeSE targetType) throws IOExceptionSE, HttpMediaTypeNotSupportedException, HttpMessageNotReadableException
T
- 作成される引数値の予想される型 inputMessage
- 現在のリクエストを表す HTTP 入力メッセージ parameter
- メソッドパラメーター記述子 targetType
- ターゲットの型。必ずしもメソッドのパラメーターの型と同じではありません。HttpEntity<String>
の場合。IOExceptionSE
- リクエストからの読み取りが失敗した場合 HttpMediaTypeNotSupportedException
- 適切なメッセージコンバーターが見つからない場合 HttpMessageNotReadableException
protected ServletServerHttpRequest createInputMessage(NativeWebRequest webRequest)
NativeWebRequest
から新しい HttpInputMessage
を作成します。webRequest
- 入力メッセージを作成する Web リクエスト protected void validateIfApplicable(WebDataBinder binder, MethodParameter parameter)
デフォルトの実装では、@javax.validation.Valid
、Spring の Validated
、名前が "Valid" で始まるカスタムアノテーションをチェックします。
binder
- 使用する DataBinderparameter
- メソッドパラメーター記述子 isBindExceptionRequired(org.springframework.web.bind.WebDataBinder, org.springframework.core.MethodParameter)
protected boolean isBindExceptionRequired(WebDataBinder binder, MethodParameter parameter)
binder
- データバインディングの実行に使用されるデータバインダー parameter
- メソッドパラメーター記述子 Errors
でない場合、true
protected ListSE<MediaType> getSupportedMediaTypes(ClassSE<?> clazz)
MediaType.sortBySpecificity(List)
を介して、特定性でソートされた、提供されているすべてのメッセージコンバーターでサポートされているメディア型を返します。@Nullable protected ObjectSE adaptArgumentIfNecessary(@Nullable ObjectSE arg, MethodParameter parameter)
arg
- 解決された引数 parameter
- メソッドパラメーター記述子