クラス 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
  • コンストラクターの詳細

    • RequestPartMethodArgumentResolver

      public RequestPartMethodArgumentResolver(ListSE<HttpMessageConverter<?>> messageConverters)
      コンバーターのみを備えた基本コンストラクター。
    • RequestPartMethodArgumentResolver

      public RequestPartMethodArgumentResolver(ListSE<HttpMessageConverter<?>> messageConverters, ListSE<ObjectSE> requestResponseBodyAdvice)
      コンバーターと RequestBodyAdvice および ResponseBodyAdvice を持つコンストラクター。
  • メソッドの詳細

    • supportsParameter

      public boolean supportsParameter(MethodParameter parameter)
      指定されたメソッドパラメーターがマルチパートとしてサポートされているかどうか。次のメソッドパラメーターをサポートします。
      • @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 - 現在のリクエストの ModelAndViewContainer
      request - 現在のリクエスト
      binderFactory - WebDataBinder インスタンスを作成するためのファクトリ
      戻り値:
      解決された引数値、または解決できない場合は null 
      例外:
      ExceptionSE - 引数値の準備でエラーが発生した場合