public class RequestPartMethodArgumentResolver extends AbstractMessageConverterMethodArgumentResolver
RequestPart
でアノテーション MultipartResolver
抽象化と組み合わせた MultipartFile
型 javax.servlet.http.Part
パラメーターに @RequestPart
のアノテーションが付けられると、パーツのコンテンツが HttpMessageConverter
を介して渡され、リクエストパーツの 'Content-Type' を考慮してメソッド引数が解決されます。これは、通常のリクエストの内容に基づいて引数を解決するために @RequestBody
が行うことと類似しています。
パラメーターに @RequestPart
アノテーションが付いていない場合、またはパーツの名前が指定されていない場合、リクエストパーツの名前はメソッド引数の名前から取得されます。
引数に検証をトリガーするアノテーションが付けられている場合は、自動検証を適用できます。検証が失敗した場合、DefaultHandlerExceptionResolver
が構成されていれば、MethodArgumentNotValidException
が発生し、400 レスポンスステータスコードが返されます。
logger, messageConverters
コンストラクターと説明 |
---|
RequestPartMethodArgumentResolver(ListSE<HttpMessageConverter<?>> messageConverters) コンバーターのみを備えた基本コンストラクター。 |
RequestPartMethodArgumentResolver(ListSE<HttpMessageConverter<?>> messageConverters, ListSE<ObjectSE> requestResponseBodyAdvice) コンバーターと RequestBodyAdvice および ResponseBodyAdvice を持つコンストラクター。 |
修飾子と型 | メソッドと説明 |
---|---|
ObjectSE | resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest request, WebDataBinderFactory binderFactory) メソッドパラメーターを解決して、指定されたリクエストの引数値にします。 |
boolean | supportsParameter(MethodParameter parameter) 指定されたメソッドパラメーターがマルチパートとしてサポートされているかどうか。 |
adaptArgumentIfNecessary, createInputMessage, getSupportedMediaTypes, isBindExceptionRequired, readWithMessageConverters, readWithMessageConverters, validateIfApplicable
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public RequestPartMethodArgumentResolver(ListSE<HttpMessageConverter<?>> messageConverters)
public RequestPartMethodArgumentResolver(ListSE<HttpMessageConverter<?>> messageConverters, ListSE<ObjectSE> requestResponseBodyAdvice)
RequestBodyAdvice
および ResponseBodyAdvice
を持つコンストラクター。public boolean supportsParameter(MethodParameter parameter)
@RequestPart
のアノテーションが付けられています @RequestParam
でアノテーションされていない限り、型 MultipartFile
@RequestParam
でアノテーションされていない限り、型 javax.servlet.http.Part
parameter
- チェックするメソッドパラメーター true
。それ以外の場合は false
@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
- 引数値の準備でエラーが発生した場合