クラス 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
ネストされたクラスの要約
クラス AbstractMessageConverterMethodArgumentResolver から継承されたネストクラス / インターフェース
AbstractMessageConverterMethodArgumentResolver.ConverterTypeフィールドのサマリー
クラス AbstractMessageConverterMethodArgumentResolver から継承されたフィールド
logger, messageConvertersコンストラクターの概要
コンストラクターコンストラクター説明RequestPartMethodArgumentResolver(ListSE<HttpMessageConverter<?>> messageConverters) コンバーターのみを備えた基本コンストラクター。RequestPartMethodArgumentResolver(ListSE<HttpMessageConverter<?>> messageConverters, ListSE<ObjectSE> requestResponseBodyAdvice) コンバーターとRequestBodyAdviceおよびResponseBodyAdviceを持つコンストラクター。方法の概要
修飾子と型メソッド説明resolveArgument(MethodParameter parameter, @Nullable ModelAndViewContainer mavContainer, NativeWebRequest request, @Nullable WebDataBinderFactory binderFactory) メソッドパラメーターを解決して、指定されたリクエストの引数値にします。booleansupportsParameter(MethodParameter parameter) 指定されたメソッドパラメーターがマルチパートとしてサポートされているかどうか。
コンストラクターの詳細
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
public @Nullable ObjectSE resolveArgument(MethodParameter parameter, @Nullable ModelAndViewContainer mavContainer, NativeWebRequest request, @Nullable WebDataBinderFactory binderFactory) throws ExceptionSE インターフェースからコピーされた説明:HandlerMethodArgumentResolverメソッドパラメーターを解決して、指定されたリクエストの引数値にします。ModelAndViewContainerは、リクエストのモデルへのアクセスを提供します。WebDataBinderFactoryは、データバインディングや型変換の目的で必要な場合にWebDataBinderインスタンスを作成する方法を提供します。- パラメーター:
parameter- 解決するメソッドパラメーター。このパラメーターは、trueを返さなければならないHandlerMethodArgumentResolver.supportsParameter(MethodParameter)に事前に渡されている必要があります。mavContainer- 現在のリクエストの ModelAndViewContainerrequest- 現在のリクエストbinderFactory-WebDataBinderインスタンスを作成するためのファクトリ- 戻り値:
- 解決された引数値、または解決できない場合は
null - 例外:
ExceptionSE- 引数値の準備でエラーが発生した場合