public class RouterFunctionMapping extends AbstractHandlerMapping implements InitializingBean
RouterFunctions
をサポートする HandlerMapping
実装。 構築時に RouterFunction
が提供されない場合、このマッピングはアプリケーションコンテキスト内のすべてのルーター関数を検出し、順番に調べます。
mappingsLogger
logger
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
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
コンストラクターと説明 |
---|
RouterFunctionMapping() 空の RouterFunctionMapping を作成します。 |
RouterFunctionMapping(RouterFunction<?> routerFunction) 指定された RouterFunction で RouterFunctionMapping を作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
void | afterPropertiesSet() |
protected ObjectSE | getHandlerInternal(HttpServletRequestEE servletRequest) 特定のリクエストのハンドラーを検索し、特定のリクエストが見つからない場合は null を返します。 |
RouterFunction<?> | getRouterFunction() 設定された RouterFunction を返します。 |
void | setDetectHandlerFunctionsInAncestorContexts(boolean detectHandlerFunctionsInAncestorContexts) 祖先 ApplicationContexts のハンドラー関数を検出するかどうかを設定します。 |
void | setMessageConverters(ListSE<HttpMessageConverter<?>> messageConverters) 使用するメッセージ本文コンバーターを設定します。 |
void | setRouterFunction(RouterFunction<?> routerFunction) マッピングするルーター関数を設定します。 |
adaptInterceptor, detectMappedInterceptors, extendInterceptors, formatMappingName, getAdaptedInterceptors, getCorsConfiguration, getCorsConfigurationSource, getCorsHandlerExecutionChain, getCorsProcessor, getDefaultHandler, getHandler, getHandlerExecutionChain, getMappedInterceptors, getOrder, getPathMatcher, getPatternParser, getUrlPathHelper, hasCorsConfigurationSource, initApplicationContext, initInterceptors, initLookupPath, setAlwaysUseFullPath, setBeanName, setCorsConfigurations, setCorsConfigurationSource, setCorsProcessor, setDefaultHandler, setInterceptors, setOrder, setPathMatcher, setPatternParser, setRemoveSemicolonContent, setUrlDecode, setUrlPathHelper, usesPathPatterns
getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContext
getApplicationContext, getMessageSourceAccessor, obtainApplicationContext, requiredContextClass, setApplicationContext
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public RouterFunctionMapping()
RouterFunctionMapping
を作成します。 このコンストラクターが使用される場合、このマッピングは、アプリケーションコンテキストで使用可能なすべての RouterFunction
インスタンスを検出します。
public RouterFunctionMapping(RouterFunction<?> routerFunction)
routerFunction
- マッピングに使用するルーター関数 public void setRouterFunction(@Nullable RouterFunction<?> routerFunction)
このプロパティを使用すると、アプリケーションコンテキストの検出は行われません。
@Nullable public RouterFunction<?> getRouterFunction()
RouterFunction
を返します。 注意 : ApplicationContext からルーター関数が検出された場合、afterPropertiesSet()
の前に呼び出された場合、このメソッドは null
を返すことがあります。
null
public void setMessageConverters(ListSE<HttpMessageConverter<?>> messageConverters)
これらのコンバーターは、HTTP リクエストとレスポンスの変換に使用されます。
public void setDetectHandlerFunctionsInAncestorContexts(boolean detectHandlerFunctionsInAncestorContexts)
デフォルトは「false」: 現在の ApplicationContext のハンドラー関数のみが検出されます。つまり、この HandlerMapping 自体が定義されているコンテキスト(通常は現在の DispatcherServlet のコンテキスト)のみです。
このフラグをオンにして、祖先コンテキスト(通常は Spring ルート WebApplicationContext)のハンドラー Bean も検出します。
public void afterPropertiesSet() throws ExceptionSE
InitializingBean
BeanFactoryAware
、ApplicationContextAware
などを満たした後、包含 BeanFactory
によって呼び出されます。このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されたときに、その全体的な構成の検証と最終的な初期化を実行できます。
InitializingBean
の afterPropertiesSet
ExceptionSE
- 構成の誤り(必須プロパティの設定の失敗など)の場合、またはその他の理由で初期化が失敗した場合 @Nullable protected ObjectSE getHandlerInternal(HttpServletRequestEE servletRequest) throws ExceptionSE
AbstractHandlerMapping
null
を返します。このメソッドは AbstractHandlerMapping.getHandler(javax.servlet.http.HttpServletRequest)
によって呼び出されます。null
の戻り値は、デフォルトのハンドラー(設定されている場合)につながります。CORS プリフライトリクエストでは、このメソッドはプリフライトリクエストではなく、URL パス、"Access-Control-Request-Method" ヘッダーからの HTTP メソッド、ヘッダーに基づいて予想される実際のリクエストに対して一致を返す必要があります "Access-Control-Request-Headers" ヘッダーから、AbstractHandlerMapping.getCorsConfiguration(Object, HttpServletRequest)
を介して CORS 設定を取得できるようにします。
メモ: このメソッドは、ハンドラーオブジェクトと動的に決定されたインターセプターを組み合わせて、事前に構築された HandlerExecutionChain
を返すこともあります。静的に指定されたインターセプターは、そのような既存のチェーンにマージされます。
AbstractHandlerMapping
の getHandlerInternal
servletRequest
- 現在の HTTP リクエスト null
ExceptionSE
- 内部エラーがある場合