public class RequestParamMethodArgumentResolver extends AbstractNamedValueMethodArgumentResolver implements UriComponentsContributor
RequestParam でアノテーションが付けられたメソッド引数、Spring の MultipartResolver 抽象化と組み合わせた型 MultipartFile の引数、および Servlet 3.0 マルチパートリクエストと組み合わせた型 javax.servlet.http.Part の引数を解決します。このリゾルバーは、@RequestParam でアノテーションが付けられていない単純型(int、long など)も、引数名から派生したパラメーター名を持つリクエストパラメーターとして扱われるデフォルトの解決モードで作成することもできます。 メソッドパラメーター型が MapSE の場合、アノテーションで指定された名前は、リクエストパラメーターの文字列値を解決するために使用されます。次に、適切な Converter または PropertyEditorSE が登録されていると想定して、値は型変換によって MapSE に変換されます。または、リクエストパラメーター名が指定されていない場合は、代わりに RequestParamMapMethodArgumentResolver を使用して、マップの形式ですべてのリクエストパラメーターにアクセスできます。
WebDataBinder が呼び出され、メソッドのパラメーター型とまだ一致しない解決済みのリクエストヘッダー値に型変換が適用されます。
RequestParamMapMethodArgumentResolverAbstractNamedValueMethodArgumentResolver.NamedValueInfo| コンストラクターと説明 |
|---|
RequestParamMethodArgumentResolver(boolean useDefaultResolution) 新しい RequestParamMethodArgumentResolver インスタンスを作成します。 |
RequestParamMethodArgumentResolver(ConfigurableBeanFactory beanFactory, boolean useDefaultResolution) 新しい RequestParamMethodArgumentResolver インスタンスを作成します。 |
handleMissingValue, handleResolvedValue, resolveArgumentcloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEpublic RequestParamMethodArgumentResolver(boolean useDefaultResolution)
RequestParamMethodArgumentResolver インスタンスを作成します。useDefaultResolution - デフォルトの解決モードでは、BeanUtils.isSimpleProperty(java.lang.Class<?>) で定義されている単純な型のメソッド引数は、アノテーションが付けられていない場合でもリクエストパラメーターとして扱われ、リクエストパラメーター名はメソッドパラメーター名から派生します。public RequestParamMethodArgumentResolver(@Nullable ConfigurableBeanFactory beanFactory, boolean useDefaultResolution)
RequestParamMethodArgumentResolver インスタンスを作成します。beanFactory - デフォルト値の ${...} プレースホルダーと #{...} SpEL 式を解決するために使用される Bean ファクトリ、またはデフォルト値に式が含まれることが予期されていない場合は null useDefaultResolution - デフォルトの解決モードでは、BeanUtils.isSimpleProperty(java.lang.Class<?>) で定義されている単純な型のメソッド引数は、アノテーションが付けられていない場合でもリクエストパラメーターとして扱われ、リクエストパラメーター名はメソッドパラメーター名から派生します。public boolean supportsParameter(MethodParameter parameter)
MapSE パラメーターを除外します。そのようなパラメーターについては、代わりに RequestParamMapMethodArgumentResolver を参照してください。RequestPart でアノテーションされていない限り、型 MultipartFile の引数。RequestPart でアノテーションされていない限り、型 Part の引数。RequestParam が指定されていない場合でも、単純型引数。HandlerMethodArgumentResolver の supportsParameter UriComponentsContributor の supportsParameter parameter - チェックするメソッドパラメーター true。それ以外の場合は false protected AbstractNamedValueMethodArgumentResolver.NamedValueInfo createNamedValueInfo(MethodParameter parameter)
AbstractNamedValueMethodArgumentResolverAbstractNamedValueMethodArgumentResolver.NamedValueInfo オブジェクトを作成します。実装は通常、MethodParameter.getParameterAnnotation(Class) を使用してメソッドアノテーションを取得します。AbstractNamedValueMethodArgumentResolver の createNamedValueInfo parameter - メソッドパラメーター @Nullable protected ObjectSE resolveName(StringSE name, MethodParameter parameter, NativeWebRequest request) throws ExceptionSE
AbstractNamedValueMethodArgumentResolverAbstractNamedValueMethodArgumentResolver の resolveName name - 解決される値の名前 parameter - 引数値に解決するメソッドパラメーター (OptionalSE 宣言の場合は事前ネスト)request - 現在のリクエスト null の場合があります)ExceptionSE - エラーの場合 protected void handleMissingValue(StringSE name, MethodParameter parameter, NativeWebRequest request) throws ExceptionSE
AbstractNamedValueMethodArgumentResolverAbstractNamedValueMethodArgumentResolver.resolveName(String, MethodParameter, NativeWebRequest) が null を返し、デフォルト値がない場合に呼び出されます。この場合、サブクラスは通常、例外をスローします。AbstractNamedValueMethodArgumentResolver の handleMissingValue name - 値の名前 parameter - メソッドパラメーター request - 現在のリクエスト ExceptionSEprotected void handleMissingValueAfterConversion(StringSE name, MethodParameter parameter, NativeWebRequest request) throws ExceptionSE
AbstractNamedValueMethodArgumentResolvernull になります。AbstractNamedValueMethodArgumentResolver の handleMissingValueAfterConversion name - 値の名前 parameter - メソッドパラメーター request - 現在のリクエスト ExceptionSEprotected void handleMissingValueInternal(StringSE name, MethodParameter parameter, NativeWebRequest request, boolean missingAfterConversion) throws ExceptionSE
ExceptionSEpublic void contributeMethodArgument(MethodParameter parameter, @Nullable ObjectSE value, UriComponentsBuilder builder, MapSE<StringSE,ObjectSE> uriVariables, ConversionService conversionService)
UriComponentsContributorUriComponentsBuilder を更新するか、すべての引数が処理された後に URI を展開するために使用する URI 変数でマップに追加します。UriComponentsContributor の contributeMethodArgument parameter - コントローラーメソッドパラメーター (非 null)value - 引数値 (おそらく null)builder - 更新するビルダー (非 null)uriVariables - URI 変数を追加するマップ (非 null)conversionService - 値を文字列としてフォーマットする ConversionService@Nullable protected StringSE formatUriValue(@Nullable ConversionService cs, @Nullable TypeDescriptor sourceType, @Nullable ObjectSE value)