クラス VersionResourceResolver
java.lang.ObjectSE
org.springframework.web.reactive.resource.AbstractResourceResolver
org.springframework.web.reactive.resource.VersionResourceResolver
- 実装されたすべてのインターフェース:
ResourceResolver
リソースが遠い将来の日付 (たとえば 1 年後) でキャッシュされ、バージョン (つまり URL) が変更されるまでキャッシュされる HTTP キャッシュ戦略の一部として使用できるバージョン文字列を含むリクエストパスを解決します。
さまざまなバージョン管理戦略が存在し、どの戦略がどのリソースに適用されるかを示すパスマッピングと共に、このリゾルバーを 1 つ以上のこのような戦略で構成する必要があります。
ContentVersionStrategy
は、使用できない場合を除き、適切なデフォルトの選択肢です。最も注目すべきは、ContentVersionStrategy
を JavaScript モジュールローダーと組み合わせることはできません。そのような場合には、FixedVersionStrategy
の方が適しています。
このリゾルバーを使用して CSS ファイルを提供するということは、CSS ファイル内のリンクを変更してこのリゾルバーによって生成された適切なバージョンも含めるために、CssLinkResourceTransformer
も使用する必要があることを意味します。
- 導入:
- 5.0
- 作成者:
- Rossen Stoyanchev, Brian Clozel
- 関連事項:
フィールドサマリー
クラス org.springframework.web.reactive.resource.AbstractResourceResolver から継承されたフィールド
logger
コンストラクターのサマリー
コンストラクター方法の概要
修飾子と型メソッド説明addContentVersionStrategy
(StringSE... pathPatterns) 指定されたパスパターンに一致するリソース URL にコンテンツベースのバージョンを挿入します。addFixedVersionStrategy
(StringSE version, StringSE... pathPatterns) 指定されたパスパターン(例:"{version}/js/main.js"
)に一致するリソース URL に、プレフィックスベースの固定バージョンを挿入します。addVersionStrategy
(VersionStrategy strategy, StringSE... pathPatterns) 指定されたパスパターンに一致するリソース URL に適用するカスタム VersionStrategy を登録します。protected VersionStrategy
getStrategyForPath
(StringSE requestPath) リクエストされたリソースのリクエストパスのVersionStrategy
を見つけます。パスパターンをキーとするバージョン戦略を使用してマップを返します。protected reactor.core.publisher.Mono<Resource>
resolveResourceInternal
(ServerWebExchange exchange, StringSE requestPath, ListSE<? extends Resource> locations, ResourceResolverChain chain) protected reactor.core.publisher.Mono<StringSE>
resolveUrlPathInternal
(StringSE resourceUrlPath, ListSE<? extends Resource> locations, ResourceResolverChain chain) void
URL パスをキーとして、VersionStrategy
を値としてマップを設定します。クラス org.springframework.web.reactive.resource.AbstractResourceResolver から継承されたメソッド
resolveResource, resolveUrlPath
コンストラクターの詳細
VersionResourceResolver
public VersionResourceResolver()
メソッドの詳細
setStrategyMap
URL パスをキーとして、VersionStrategy
を値としてマップを設定します。直接 URL 一致と Ant スタイルのパターン一致をサポートします。構文の詳細については、
AntPathMatcher
javadoc を参照してください。- パラメーター:
map
- URL をキー、バージョン戦略を値として持つマップ
getStrategyMap
パスパターンをキーとするバージョン戦略を使用してマップを返します。addContentVersionStrategy
指定されたパスパターンに一致するリソース URL にコンテンツベースのバージョンを挿入します。バージョンは、ファイルのコンテンツから計算されます (例:"css/main-e36d2e05253c6c7085a91522ce43a0b4.css"
)。これは、使用できない場合を除き、使用するのに適したデフォルトの戦略です。たとえば、JavaScript モジュールローダーを使用する場合は、代わりにaddFixedVersionStrategy(java.lang.String, java.lang.String...)
を使用して JavaScript ファイルを提供します。- パラメーター:
pathPatterns
- リソースハンドラーで構成されたパターンに関連する、1 つ以上のリソース URL パスパターン- 戻り値:
- 連鎖メソッド呼び出しの現在のインスタンス
- 関連事項:
addFixedVersionStrategy
指定されたパスパターン(例:"{version}/js/main.js"
)に一致するリソース URL に、プレフィックスベースの固定バージョンを挿入します。これは、JavaScript モジュールローダーを使用する場合に便利です(コンテンツベースのバージョンに対して)。バージョンは、乱数、現在の日付、git コミット sha、プロパティファイル、または環境変数から取得され、構成で SpEL 式を使用して設定された値になります (たとえば、Java 構成の
@Value
を参照)。まだ実行されていない場合は、指定された
pathPatterns
のバリアント (接頭辞version
が付いたもの) も構成されます。例:"/js/**"
パスパターンを追加すると、引数として指定されたversion
文字列である"v1.0.0"
を使用して"/v1.0.0/js/**"
も自動的に構成されます。- パラメーター:
version
- バージョン文字列pathPatterns
- リソースハンドラーで構成されたパターンに関連する、1 つ以上のリソース URL パスパターン- 戻り値:
- 連鎖メソッド呼び出しの現在のインスタンス
- 関連事項:
addVersionStrategy
public VersionResourceResolver addVersionStrategy(VersionStrategy strategy, StringSE... pathPatterns) 指定されたパスパターンに一致するリソース URL に適用するカスタム VersionStrategy を登録します。- パラメーター:
strategy
- カスタム戦略pathPatterns
- リソースハンドラーで構成されたパターンに関連する、1 つ以上のリソース URL パスパターン- 戻り値:
- 連鎖メソッド呼び出しの現在のインスタンス
- 関連事項:
resolveResourceInternal
protected reactor.core.publisher.Mono<Resource> resolveResourceInternal(@Nullable ServerWebExchange exchange, StringSE requestPath, ListSE<? extends Resource> locations, ResourceResolverChain chain) - 次で指定:
- クラス
AbstractResourceResolver
のresolveResourceInternal
resolveUrlPathInternal
protected reactor.core.publisher.Mono<StringSE> resolveUrlPathInternal(StringSE resourceUrlPath, ListSE<? extends Resource> locations, ResourceResolverChain chain) - 次で指定:
- クラス
AbstractResourceResolver
のresolveUrlPathInternal
getStrategyForPath
リクエストされたリソースのリクエストパスのVersionStrategy
を見つけます。- 戻り値:
VersionStrategy
のインスタンス、またはそのリクエストパスに一致するものがない場合は null