public abstract class AbstractHandlerMapping extends ApplicationObjectSupport implements HandlerMapping, Ordered, BeanNameAware
HandlerMapping
実装の抽象基本クラス。logger
BEST_MATCHING_HANDLER_ATTRIBUTE, BEST_MATCHING_PATTERN_ATTRIBUTE, MATRIX_VARIABLES_ATTRIBUTE, PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE, PRODUCIBLE_MEDIA_TYPES_ATTRIBUTE, URI_TEMPLATE_VARIABLES_ATTRIBUTE
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
コンストラクターと説明 |
---|
AbstractHandlerMapping() |
修飾子と型 | メソッドと説明 |
---|---|
protected StringSE | formatMappingName() |
protected CorsConfiguration | getCorsConfiguration(ObjectSE handler, ServerWebExchange exchange) 指定されたハンドラーの CORS 構成を取得します。 |
CorsProcessor | getCorsProcessor() 設定された CorsProcessor を返します。 |
reactor.core.publisher.Mono<ObjectSE> | getHandler(ServerWebExchange exchange) このリクエストのハンドラーを返します。 |
protected abstract reactor.core.publisher.Mono<?> | getHandlerInternal(ServerWebExchange exchange) 特定のリクエストのハンドラーを検索し、特定のものが見つからない場合は空の Mono を返します。 |
int | getOrder() このオブジェクトの順序値を取得します。 |
PathPatternParser | getPathPatternParser() CORS configuration checks に使用される PathPatternParser インスタンスを返します。 |
protected boolean | hasCorsConfigurationSource(ObjectSE handler) このハンドラーに CorsConfigurationSource がある場合、true を返します。 |
void | setBeanName(StringSE name) この Bean を作成した Bean ファクトリで Bean の名前を設定します。 |
void | setCorsConfigurations(MapSE<StringSE, CorsConfiguration> corsConfigurations) URL パターンに基づいて「グローバル」CORS 構成を設定します。 |
void | setCorsConfigurationSource(CorsConfigurationSource corsConfigurationSource) 「グローバル」CORS 構成ソースを設定します。 |
void | setCorsProcessor(CorsProcessor corsProcessor) 一致する CorsConfiguration をリクエストに適用するために使用するカスタム CorsProcessor を構成します。 |
void | setOrder(int order) この HandlerMapping Bean の順序値を指定します。 |
void | setUseCaseSensitiveMatch(boolean caseSensitiveMatch) 使用中の基になるパターンパーサーに同じプロパティを設定するためのショートカットメソッド。 |
void | setUseTrailingSlashMatch(boolean trailingSlashMatch) 使用中の基になるパターンパーサーに同じプロパティを設定するためのショートカットメソッド。 |
getApplicationContext, getMessageSourceAccessor, initApplicationContext, initApplicationContext, isContextRequired, obtainApplicationContext, requiredContextClass, setApplicationContext
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public void setUseCaseSensitiveMatch(boolean caseSensitiveMatch)
getPathPatternParser()
-- 基礎となるパターンパーサー PathPatternParser.setCaseSensitive(boolean)
-- デフォルト値を含む、大文字と小文字を区別するスラッシュオプション。注意 : とは別に
public void setUseTrailingSlashMatch(boolean trailingSlashMatch)
getPathPatternParser()
-- 基礎となるパターンパーサー PathPatternParser.setMatchOptionalTrailingSeparator(boolean)
-- デフォルト値を含む末尾のスラッシュオプション。public PathPatternParser getPathPatternParser()
CORS configuration checks
に使用される PathPatternParser
インスタンスを返します。サブクラスも、独自のリクエストマッピングの目的でこのパターンパーサーを使用できます。public void setCorsConfigurations(MapSE<StringSE,CorsConfiguration> corsConfigurations)
public void setCorsConfigurationSource(CorsConfigurationSource corsConfigurationSource)
setCorsConfigurations(Map)
public void setCorsProcessor(CorsProcessor corsProcessor)
CorsConfiguration
をリクエストに適用するために使用するカスタム CorsProcessor
を構成します。 デフォルトでは、DefaultCorsProcessor
のインスタンスが使用されます。
public CorsProcessor getCorsProcessor()
CorsProcessor
を返します。public void setOrder(int order)
デフォルト値は Ordered.LOWEST_PRECEDENCE
で、順序なしを意味します。
Ordered.getOrder()
public int getOrder()
Ordered
値が高いほど、優先度は低くなります。結果として、最も低い値を持つオブジェクトが最高の優先度を持ちます(サーブレット load-on-startup
の値に多少似ています)。
同じ順序の値は、影響を受けるオブジェクトの任意のソート位置になります。
Ordered
の getOrder
Ordered.HIGHEST_PRECEDENCE
, Ordered.LOWEST_PRECEDENCE
public void setBeanName(StringSE name)
BeanNameAware
通常の Bean プロパティの設定後、ただし InitializingBean.afterPropertiesSet()
またはカスタム init メソッドなどの init コールバックの前に呼び出されます。
BeanNameAware
の setBeanName
name
- ファクトリ内の Bean の名前。この名前は、ファクトリで使用される実際の Bean 名であり、最初に指定した名前とは異なる場合があります。特に内部 Bean 名の場合、実際の Bean 名は "#..." サフィックスを追加することで一意になります。必要に応じて、BeanFactoryUtils.originalBeanName(String)
メソッドを使用して、元の Bean 名(サフィックスなし)を抽出します。protected StringSE formatMappingName()
public reactor.core.publisher.Mono<ObjectSE> getHandler(ServerWebExchange exchange)
HandlerMapping
HandlerMapping
の getHandler
exchange
- 現在のサーバー交換 Mono
protected abstract reactor.core.publisher.Mono<?> getHandlerInternal(ServerWebExchange exchange)
Mono
を返します。このメソッドは getHandler(org.springframework.web.server.ServerWebExchange)
によって呼び出されます。CORS プリフライトリクエストでは、このメソッドはプリフライトリクエストではなく、URL パス、"Access-Control-Request-Method" ヘッダーからの HTTP メソッド、ヘッダーに基づいて予期される実際のリクエストに一致するものを返す必要があります "Access-Control-Request-Headers" ヘッダーから。
exchange
- 現在の交換 Mono
(存在する場合)protected boolean hasCorsConfigurationSource(ObjectSE handler)
CorsConfigurationSource
がある場合、true
を返します。@Nullable protected CorsConfiguration getCorsConfiguration(ObjectSE handler, ServerWebExchange exchange)
handler
- チェックするハンドラー (非 null
)exchange
- 現在の交換 null