クラス AbstractUrlHandlerMapping
- 実装されているすべてのインターフェース:
Aware、BeanNameAware、ApplicationContextAware、Ordered、HandlerMapping
- 既知の直属サブクラス
SimpleUrlHandlerMapping
HandlerMapping 実装の抽象基本クラス。 直接一致をサポートします。登録された "/test" は "/test" と一致し、さまざまなパスパターンが一致します。登録された "/t*" パターンは "/test" と "/team" の両方に一致し、"/test/*" は "/test" のすべてのパスに一致し、"/test/**" は "/test" のすべてのパスに一致します。詳細については、PathPattern javadoc を参照してください。
すべてのパスパターンを検索して、現在のリクエストパスに最も一致するものを見つけます。最も具体的なパターンは、キャプチャーされた変数とワイルドカードが最も少ない最長パスパターンとして定義されます。
- 導入:
- 5.0
- 作成者:
- Rossen Stoyanchev, Juergen Hoeller, Brian Clozel
フィールドのサマリー
クラス org.springframework.web.reactive.handler.AbstractHandlerMapping から継承されたフィールド
mappingsLoggerクラス org.springframework.context.support.ApplicationObjectSupport から継承されたフィールド
loggerインターフェース org.springframework.web.reactive.HandlerMapping から継承されたフィールド
BEST_MATCHING_HANDLER_ATTRIBUTE, BEST_MATCHING_PATTERN_ATTRIBUTE, MATRIX_VARIABLES_ATTRIBUTE, PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE, PRODUCIBLE_MEDIA_TYPES_ATTRIBUTE, URI_TEMPLATE_VARIABLES_ATTRIBUTEインターフェース org.springframework.core.Ordered から継承されたフィールド
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCEコンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明reactor.core.publisher.Mono<ObjectSE>getHandlerInternal(ServerWebExchange exchange) 特定のリクエストのハンドラーを検索し、特定のものが見つからない場合は空のMonoを返します。final MapSE<PathPattern,ObjectSE> 実際のハンドラーインスタンスまたは遅延初期化ハンドラーの Bean 名である可能性がある、登録済みのパスパターンとハンドラーの読み取り専用ビューを返します。protected ObjectSElookupHandler(PathContainer lookupPath, ServerWebExchange exchange) 指定された URL ルックアップパスのハンドラーインスタンスをルックアップします。protected voidregisterHandler(StringSE[] urlPaths, StringSE beanName) 指定された URL パスに指定されたハンドラーを登録します。protected voidregisterHandler(StringSE urlPath, ObjectSE handler) 指定された URL パスに指定されたハンドラーを登録します。voidsetHandlerPredicate(BiPredicateSE<ObjectSE, ServerWebExchange> handlerPredicate) URL パスと一致したハンドラーの拡張一致の述語を構成します。voidsetLazyInitHandlers(boolean lazyInitHandlers) ハンドラーを遅延初期化するかどうかを設定します。protected voidvalidateHandler(ObjectSE handler, ServerWebExchange exchange) 現在のリクエストに対して指定されたハンドラーを検証します。クラス org.springframework.web.reactive.handler.AbstractHandlerMapping から継承されたメソッド
formatMappingName, getCorsConfiguration, getCorsProcessor, getHandler, getOrder, getPathPatternParser, hasCorsConfigurationSource, setBeanName, setCorsConfigurations, setCorsConfigurationSource, setCorsProcessor, setOrder, setUseCaseSensitiveMatch, setUseTrailingSlashMatchクラス org.springframework.context.support.ApplicationObjectSupport から継承されたメソッド
getApplicationContext, getMessageSourceAccessor, initApplicationContext, initApplicationContext, isContextRequired, obtainApplicationContext, requiredContextClass, setApplicationContext
コンストラクターの詳細
AbstractUrlHandlerMapping
public AbstractUrlHandlerMapping()
メソッドの詳細
setLazyInitHandlers
public void setLazyInitHandlers(boolean lazyInitHandlers) ハンドラーを遅延初期化するかどうかを設定します。プロトタイプは常に遅延初期化されるため、シングルトンハンドラーにのみ適用できます。積極的な初期化により、コントローラーオブジェクトを直接参照することで効率が向上するため、デフォルトは "false" です。コントローラーの遅延初期化を許可する場合は、コントローラーを "lazy-init" にして、このフラグを true に設定します。これらを "lazy-init" にするだけでは機能しません。この場合、ハンドラーマッピングからの参照を介して初期化されるためです。
getHandlerMap
実際のハンドラーインスタンスまたは遅延初期化ハンドラーの Bean 名である可能性がある、登録済みのパスパターンとハンドラーの読み取り専用ビューを返します。setHandlerPredicate
URL パスと一致したハンドラーの拡張一致の述語を構成します。これにより、リクエストの追加のプロパティをチェックすることで、マッピングをさらに絞り込むことができます。述語が "false" を返す場合、一致しない結果になります。これにより、別のHandlerMappingが一致するか、404(NOT_FOUND)レスポンスになります。- パラメーター:
handlerPredicate- 候補ハンドラーを現在の取引所と照合するための二重述語。- 導入:
- 5.3.5
- 関連事項:
getHandlerInternal
クラスからコピーされた説明:AbstractHandlerMapping特定のリクエストのハンドラーを検索し、特定のものが見つからない場合は空のMonoを返します。このメソッドはAbstractHandlerMapping.getHandler(org.springframework.web.server.ServerWebExchange)によって呼び出されます。CORS プリフライトリクエストでは、このメソッドはプリフライトリクエストではなく、URL パス、"Access-Control-Request-Method" ヘッダーからの HTTP メソッド、ヘッダーに基づいて予期される実際のリクエストに一致するものを返す必要があります "Access-Control-Request-Headers" ヘッダーから。
- 次で指定:
- クラス
AbstractHandlerMappingのgetHandlerInternal - パラメーター:
exchange- 現在の交換- 戻り値:
- 一致するハンドラーの
Mono(存在する場合)
lookupHandler
@Nullable protected ObjectSE lookupHandler(PathContainer lookupPath, ServerWebExchange exchange) throws ExceptionSE 指定された URL ルックアップパスのハンドラーインスタンスをルックアップします。直接一致をサポートします。登録された "/test" は "/test" と一致し、さまざまなパスパターンが一致します。登録された "/t*" は、"/test" と "/team" の両方に一致します。詳細については、PathPattern クラスを参照してください。
- パラメーター:
lookupPath- ハンドラーがマップされている URLexchange- 現在の交換- 戻り値:
- 関連付けられたハンドラーインスタンス、または見つからない場合は
null - 例外:
ExceptionSE- 関連事項:
validateHandler
現在のリクエストに対して指定されたハンドラーを検証します。デフォルトの実装は空です。たとえば、URL マッピングで表される特定の前提条件を強制するために、サブクラスでオーバーライドできます。
- パラメーター:
handler- 検証するハンドラーオブジェクトexchange- 現在の交換
registerHandler
protected void registerHandler(StringSE[] urlPaths, StringSE beanName) throws BeansException, IllegalStateExceptionSE 指定された URL パスに指定されたハンドラーを登録します。- パラメーター:
urlPaths- Bean がマッピングされる URLbeanName- ハンドラー Bean の名前- 例外:
BeansException- ハンドラーを登録できなかった場合IllegalStateExceptionSE- 競合するハンドラーが登録されている場合
registerHandler
protected void registerHandler(StringSE urlPath, ObjectSE handler) throws BeansException, IllegalStateExceptionSE 指定された URL パスに指定されたハンドラーを登録します。- パラメーター:
urlPath- Bean がマッピングされる URLhandler- ハンドラーインスタンスまたはハンドラー Bean name String (Bean 名は、対応するハンドラー Bean に自動的に解決されます)- 例外:
BeansException- ハンドラーを登録できなかった場合IllegalStateExceptionSE- 競合するハンドラーが登録されている場合