クラス RequestMappingHandlerMapping
- 実装済みのインターフェース一覧:
Aware, BeanNameAware, InitializingBean, ApplicationContextAware, EmbeddedValueResolverAware, Ordered, ServletContextAware, MatchableHandlerMapping, HandlerMapping
@Controller クラスの型 レベルおよびメソッドレベルの @RequestMapping および @HttpExchange アノテーションから RequestMappingInfo インスタンスを作成します。- 導入:
- 3.1
- 作成者:
- Arjen Poutsma, Rossen Stoyanchev, Sam Brannen, Olga Maciaszek-Sharma, Yongjun Hong
フィールド概要
クラス AbstractHandlerMapping から継承されたフィールド
mappingsLoggerクラス ApplicationObjectSupport から継承されたフィールド
loggerインターフェース HandlerMapping から継承されたフィールド
API_VERSION_ATTRIBUTE, BEST_MATCHING_HANDLER_ATTRIBUTE, BEST_MATCHING_PATTERN_ATTRIBUTE, INTROSPECT_TYPE_LEVEL_MAPPING, LOOKUP_PATH, MATRIX_VARIABLES_ATTRIBUTE, PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE, PRODUCIBLE_MEDIA_TYPES_ATTRIBUTE, URI_TEMPLATE_VARIABLES_ATTRIBUTEインターフェース Ordered から継承されたフィールド
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCEコンストラクター概要
コンストラクター方法の概要
修飾子と型メソッド説明void初期化時にハンドラーメソッドを検出します。protected RequestMappingInfocreateRequestMappingInfo(RequestMapping requestMapping, @Nullable RequestCondition<?> customCondition) 提供された@RequestMappingアノテーション、メタアノテーション、またはアノテーション階層内でアノテーション属性をマージした合成結果からRequestMappingInfoを作成します。protected RequestMappingInfocreateRequestMappingInfo(HttpExchange httpExchange, @Nullable RequestCondition<?> customCondition) 提供された@HttpExchangeアノテーション、メタアノテーション、またはアノテーション階層内でアノテーション属性をマージした合成結果からRequestMappingInfoを作成します。このHandlerMappingの内部構成を反映し、RequestMappingInfo.Builder.options(RequestMappingInfo.BuilderConfiguration)の設定に使用できるRequestMappingInfo.BuilderConfigurationを取得します。設定されたContentNegotiationManagerを返します。protected @Nullable RequestCondition<?> getCustomMethodCondition(MethodSE method) カスタムのメソッドレベルのリクエスト条件を指定します。protected @Nullable RequestCondition<?> getCustomTypeCondition(ClassSE<?> handlerType) カスタム型レベルのリクエスト条件を指定します。protected @Nullable RequestMappingInfogetMappingForMethod(MethodSE method, ClassSE<?> handlerType) MapSE<StringSE, PredicateSE<ClassSE<?>>> 構成されたパスは、読み取り専用の、おそらく空のマップとしてプレフィックスします。protected @Nullable CorsConfigurationinitCorsConfiguration(ObjectSE handler, MethodSE method, RequestMappingInfo mappingInfo) マッピングの CORS 設定を抽出して返します。protected boolean指定された型がハンドラーメソッドを持つハンドラーかどうか。非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。protected voidregisterHandlerMethod(ObjectSE handler, MethodSE method, RequestMappingInfo mapping) ハンドラーメソッドとその一意のマッピングを登録します。voidregisterMapping(RequestMappingInfo mapping, ObjectSE handler, MethodSE method) 指定されたマッピングを登録します。protected StringSE[]resolveEmbeddedValuesInPatterns(StringSE[] patterns) 指定されたパターンの配列のプレースホルダー値を解決します。voidsetContentNegotiationManager(ContentNegotiationManager contentNegotiationManager) リクエストされたメディア型を判別するために使用するContentNegotiationManagerを設定します。voidsetEmbeddedValueResolver(StringValueResolver resolver) StringValueResolver を設定して、埋め込まれた定義値の解決に使用します。voidsetPathPrefixes(MapSE<StringSE, PredicateSE<ClassSE<?>>> prefixes) コントローラーメソッドに適用するパスプレフィックスを構成します。クラス RequestMappingInfoHandlerMapping から継承されたメソッド
getDirectPaths, getHandlerInternal, getMappingComparator, getMatchingMapping, handleMatch, handleNoMatchクラス AbstractHandlerMethodMapping から継承されたメソッド
createHandlerMethod, detectHandlerMethods, getCandidateBeanNames, getCorsConfiguration, getHandlerMethods, getHandlerMethodsForMappingName, getNamingStrategy, handlerMethodsInitialized, hasCorsConfigurationSource, initHandlerMethods, lookupHandlerMethod, processCandidateBean, setDetectHandlerMethodsInAncestorContexts, setHandlerMethodMappingNamingStrategy, setPatternParser, unregisterMappingクラス AbstractHandlerMapping から継承されたメソッド
adaptInterceptor, detectMappedInterceptors, extendInterceptors, formatMappingName, getAdaptedInterceptors, getApiVersionStrategy, getCorsConfigurationSource, getCorsHandlerExecutionChain, getCorsProcessor, getDefaultHandler, getHandler, getHandlerExecutionChain, getMappedInterceptors, getOrder, getPathMatcher, getPatternParser, getUrlPathHelper, initApplicationContext, initInterceptors, initLookupPath, setAlwaysUseFullPath, setApiVersionStrategy, setBeanName, setCorsConfigurations, setCorsConfigurationSource, setCorsProcessor, setDefaultHandler, setInterceptors, setOrder, setPathMatcher, setRemoveSemicolonContent, setUrlDecode, setUrlPathHelper, usesPathPatternsクラス WebApplicationObjectSupport から継承されたメソッド
getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContextクラス ApplicationObjectSupport から継承されたメソッド
getApplicationContext, getMessageSourceAccessor, obtainApplicationContext, requiredContextClass, setApplicationContextクラス ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSEインターフェース HandlerMapping から継承されたメソッド
getHandler, usesPathPatternsインターフェース MatchableHandlerMapping から継承されたメソッド
getPatternParser
コンストラクターの詳細
RequestMappingHandlerMapping
public RequestMappingHandlerMapping()
方法の詳細
setPathPrefixes
コントローラーメソッドに適用するパスプレフィックスを構成します。プレフィックスは、コントローラー型がマップ内の対応する
Predicateと一致するすべての@RequestMappingメソッドおよび@HttpExchangeメソッドのマッピングを強化するために使用されます。入力マップの順序が予測可能であると仮定して、最初に一致する述語の接頭辞が使用されます。HandlerTypePredicateを使用してコントローラーをグループ化することを検討してください。- パラメーター:
prefixes- キーとしてパス接頭辞を持つマップ- 導入:
- 5.1
getPathPrefixes
構成されたパスは、読み取り専用の、おそらく空のマップとしてプレフィックスします。- 導入:
- 5.1
setContentNegotiationManager
リクエストされたメディア型を判別するために使用するContentNegotiationManagerを設定します。設定されていない場合、デフォルトのコンストラクターが使用されます。getContentNegotiationManager
設定されたContentNegotiationManagerを返します。setEmbeddedValueResolver
インターフェースからコピーされた説明:EmbeddedValueResolverAwareStringValueResolver を設定して、埋め込まれた定義値の解決に使用します。- 次で指定:
- インターフェース
EmbeddedValueResolverAware内のsetEmbeddedValueResolver
afterPropertiesSet
public void afterPropertiesSet()クラスからコピーされた説明:AbstractHandlerMethodMapping初期化時にハンドラーメソッドを検出します。- 次で指定:
- インターフェース
InitializingBean内のafterPropertiesSet - オーバーライド:
- クラス
AbstractHandlerMethodMapping<RequestMappingInfo>のafterPropertiesSet - 関連事項:
getBuilderConfiguration
このHandlerMappingの内部構成を反映し、RequestMappingInfo.Builder.options(RequestMappingInfo.BuilderConfiguration)の設定に使用できるRequestMappingInfo.BuilderConfigurationを取得します。これは、
registerHandlerMethod(Object, Method, RequestMappingInfo)を介したリクエストマッピングのプログラムによる登録に役立ちます。- 戻り値:
- 内部状態を反映するビルダー構成
- 導入:
- 5.3.14
isHandler
指定された型がハンドラーメソッドを持つハンドラーかどうか。ハンドラーが型レベルの @
Controllerアノテーションを持つことを期待します。- 次で指定:
- クラス
AbstractHandlerMethodMapping<RequestMappingInfo>のisHandler - パラメーター:
beanType- チェックされている Bean の型- 戻り値:
- これがハンドラー型の場合は "true"、そうでない場合は "false"。
getMappingForMethod
型レベルおよびメソッドレベルの@RequestMappingおよび@HttpExchangeアノテーションを使用してRequestMappingInfoを作成します。CGLIB プロキシクラスの場合、メソッドの可視性に基づいて追加の検証が実行されます。
- プライベートメソッドはオーバーライドできないため、ハンドラーメソッドとして使用することはできません。
- 異なるパッケージのパッケージプライベートメソッドにはアクセスできないため、パブリックまたは protected メソッドに変更する必要があります。
- 次で指定:
- クラス
AbstractHandlerMethodMapping<RequestMappingInfo>のgetMappingForMethod - パラメーター:
method- マッピングを提供する方法handlerType- ハンドラー型、場合によってはメソッドの宣言クラスのサブ型- 戻り値:
- 作成された
RequestMappingInfo、またはメソッドに@RequestMappingまたは@HttpExchangeアノテーションがない場合はnull - 関連事項:
getCustomTypeCondition
カスタム型レベルのリクエスト条件を指定します。カスタムRequestConditionは、カスタムリクエスト条件を組み合わせて比較できるように、このメソッドへのすべての呼び出しから同じ条件型が返される限り、どの型でもかまいません。カスタム条件型用に
AbstractRequestConditionを継承し、CompositeRequestConditionを使用して複数のカスタム条件を提供することを検討してください。- パラメーター:
handlerType- 条件を作成するハンドラー型- 戻り値:
- 条件、または
null
getCustomMethodCondition
カスタムのメソッドレベルのリクエスト条件を指定します。カスタムRequestConditionは、カスタムリクエスト条件を組み合わせて比較できるように、このメソッドへのすべての呼び出しから同じ条件型が返される限り、どの型でもかまいません。カスタム条件型用に
AbstractRequestConditionを継承し、CompositeRequestConditionを使用して複数のカスタム条件を提供することを検討してください。- パラメーター:
method- 条件を作成するハンドラーメソッド- 戻り値:
- 条件、または
null
createRequestMappingInfo
protected RequestMappingInfo createRequestMappingInfo(RequestMapping requestMapping, @Nullable RequestCondition<?> customCondition) 提供された@RequestMappingアノテーション、メタアノテーション、またはアノテーション階層内でアノテーション属性をマージした合成結果からRequestMappingInfoを作成します。createRequestMappingInfo
protected RequestMappingInfo createRequestMappingInfo(HttpExchange httpExchange, @Nullable RequestCondition<?> customCondition) 提供された@HttpExchangeアノテーション、メタアノテーション、またはアノテーション階層内でアノテーション属性をマージした合成結果からRequestMappingInfoを作成します。- 導入:
- 6.1
resolveEmbeddedValuesInPatterns
registerMapping
クラスからコピーされた説明:AbstractHandlerMethodMapping指定されたマッピングを登録します。このメソッドは、初期化が完了した後、実行時に呼び出すことができます。
- オーバーライド:
- クラス
AbstractHandlerMethodMapping<RequestMappingInfo>のregisterMapping - パラメーター:
mapping- ハンドラーメソッドのマッピングhandler- ハンドラーmethod- メソッド
registerHandlerMethod
ハンドラーメソッドとその一意のマッピングを登録します。検出された各ハンドラーメソッドに対して起動時に呼び出されます。注意 :
RequestMappingInfoを作成するには、getBuilderConfiguration()を使用し、このHandlerMappingの構成方法と一致するようにRequestMappingInfo.Builder.options(RequestMappingInfo.BuilderConfiguration)のオプションを設定してください。これは、たとえば、PathPatternまたはPathMatcherベースのマッチングを確実に使用するために重要です。- オーバーライド:
- クラス
AbstractHandlerMethodMapping<RequestMappingInfo>のregisterHandlerMethod - パラメーター:
handler- ハンドラーまたはハンドラーインスタンスの Bean 名method- 登録する方法mapping- ハンドラーメソッドに関連付けられたマッピング条件
match
@DeprecatedSE(since="7.0", forRemoval=true) public @Nullable RequestMatchResult match(jakarta.servlet.http.HttpServletRequest request, StringSE pattern) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。インターフェースからコピーされた説明:MatchableHandlerMappingリクエストが指定されたパターンに一致するかどうかを判別します。MatchableHandlerMapping.getPatternParser()がnullを返す場合、このメソッドを使用します。これは、HandlerMappingが文字列パターンマッチングを使用していることを意味します。- 次で指定:
- インターフェース
MatchableHandlerMapping内のmatch - パラメーター:
request- 現在のリクエストpattern- マッチングするパターン- 戻り値:
- リクエストマッチングの結果、または存在しない場合は
null
initCorsConfiguration
protected @Nullable CorsConfiguration initCorsConfiguration(ObjectSE handler, MethodSE method, RequestMappingInfo mappingInfo) クラスからコピーされた説明:AbstractHandlerMethodMappingマッピングの CORS 設定を抽出して返します。- オーバーライド:
- クラス
AbstractHandlerMethodMapping<RequestMappingInfo>のinitCorsConfiguration