クラス RequestPartMethodArgumentResolver
java.lang.ObjectSE
org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver
org.springframework.web.servlet.mvc.method.annotation.RequestPartMethodArgumentResolver
- 実装されたすべてのインターフェース:
HandlerMethodArgumentResolver
public class RequestPartMethodArgumentResolver
extends AbstractMessageConverterMethodArgumentResolver
次のメソッド引数を解決します。
- @
RequestPart
でアノテーション - Spring の
MultipartResolver
抽象化と組み合わせたMultipartFile
型 - サーブレットマルチパートリクエストと組み合わせた型
jakarta.servlet.http.Part
パラメーターに @RequestPart
のアノテーションが付けられると、パーツのコンテンツが HttpMessageConverter
を介して渡され、リクエストパーツの 'Content-Type' を考慮してメソッド引数が解決されます。これは、通常のリクエストの内容に基づいて引数を解決するために @RequestBody
が行うことと類似しています。
パラメーターに @RequestPart
アノテーションが付いていない場合、またはパーツの名前が指定されていない場合、リクエストパーツの名前はメソッド引数の名前から取得されます。
引数に検証をトリガーするアノテーションが付けられている場合は、自動検証を適用できます。検証が失敗した場合、DefaultHandlerExceptionResolver
が構成されていれば、MethodArgumentNotValidException
が発生し、400 レスポンスステータスコードが返されます。
- 導入:
- 3.1
- 作成者:
- Rossen Stoyanchev, Brian Clozel, Juergen Hoeller
フィールドサマリー
クラス org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver から継承されたフィールド
logger, messageConverters
コンストラクターのサマリー
コンストラクター説明RequestPartMethodArgumentResolver
(ListSE<HttpMessageConverter<?>> messageConverters) コンバーターのみを備えた基本コンストラクター。RequestPartMethodArgumentResolver
(ListSE<HttpMessageConverter<?>> messageConverters, ListSE<ObjectSE> requestResponseBodyAdvice) コンバーターとRequestBodyAdvice
およびResponseBodyAdvice
を持つコンストラクター。メソッドのサマリー
修飾子と型メソッド説明resolveArgument
(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest request, WebDataBinderFactory binderFactory) メソッドパラメーターを解決して、指定されたリクエストの引数値にします。boolean
supportsParameter
(MethodParameter parameter) 指定されたメソッドパラメーターがマルチパートとしてサポートされているかどうか。クラス org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver から継承されたメソッド
adaptArgumentIfNecessary, createInputMessage, getSupportedMediaTypes, isBindExceptionRequired, readWithMessageConverters, readWithMessageConverters, validateIfApplicable
コンストラクターの詳細
RequestPartMethodArgumentResolver
コンバーターのみを備えた基本コンストラクター。RequestPartMethodArgumentResolver
public RequestPartMethodArgumentResolver(ListSE<HttpMessageConverter<?>> messageConverters, ListSE<ObjectSE> requestResponseBodyAdvice) コンバーターとRequestBodyAdvice
およびResponseBodyAdvice
を持つコンストラクター。
メソッドの詳細
supportsParameter
指定されたメソッドパラメーターがマルチパートとしてサポートされているかどうか。次のメソッドパラメーターをサポートします。@RequestPart
のアノテーションが付けられています@RequestParam
でアノテーションされていない限り、型MultipartFile
@RequestParam
でアノテーションされていない限り、型jakarta.servlet.http.Part
- パラメーター:
parameter
- チェックするメソッドパラメーター- 戻り値:
- このリゾルバーが提供されたパラメーターをサポートする場合、
true
。それ以外の場合はfalse
resolveArgument
@Nullable public ObjectSE resolveArgument(MethodParameter parameter, @Nullable ModelAndViewContainer mavContainer, NativeWebRequest request, @Nullable WebDataBinderFactory binderFactory) throws ExceptionSE インターフェースからコピーされた説明:HandlerMethodArgumentResolver
メソッドパラメーターを解決して、指定されたリクエストの引数値にします。ModelAndViewContainer
は、リクエストのモデルへのアクセスを提供します。WebDataBinderFactory
は、データバインディングや型変換の目的で必要な場合にWebDataBinder
インスタンスを作成する方法を提供します。- パラメーター:
parameter
- 解決するメソッドパラメーター。このパラメーターは、true
を返さなければならないHandlerMethodArgumentResolver.supportsParameter(org.springframework.core.MethodParameter)
に事前に渡されている必要があります。mavContainer
- 現在のリクエストの ModelAndViewContainerrequest
- 現在のリクエストbinderFactory
-WebDataBinder
インスタンスを作成するためのファクトリ- 戻り値:
- 解決された引数値、または解決できない場合は
null
- 例外:
ExceptionSE
- 引数値の準備でエラーが発生した場合