クラス PathResourceResolver
java.lang.ObjectSE
org.springframework.web.reactive.resource.AbstractResourceResolver
org.springframework.web.reactive.resource.PathResourceResolver
- 実装されたすべてのインターフェース:
ResourceResolver
リクエストパスに一致する特定の場所でリソースを見つけようとする単純な
ResourceResolver
。 このリゾルバーは ResourceResolverChain
に委譲せず、リゾルバーのチェーンで最後に設定されることが期待されています。
- 導入:
- 5.0
- 作成者:
- Rossen Stoyanchev, Sam Brannen
フィールドサマリー
クラス org.springframework.web.reactive.resource.AbstractResourceResolver から継承されたフィールド
logger
コンストラクターのサマリー
コンストラクター方法の概要
修飾子と型メソッド説明protected boolean
checkResource
(Resource resource, Resource location) リソースが存在し、読み取り可能かどうかをチェックする以外に、解決されたリソースに対して追加のチェックを実行します。Resource[]
protected reactor.core.publisher.Mono<Resource>
getResource
(StringSE resourcePath, Resource location) 指定された場所でリソースを見つけます。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 path, ListSE<? extends Resource> locations, ResourceResolverChain chain) void
setAllowedLocations
(Resource... locations) デフォルトでは、リソースが見つかると、解決されたリソースのパスが比較され、リソースが見つかった入力場所にあることが確認されます。クラス org.springframework.web.reactive.resource.AbstractResourceResolver から継承されたメソッド
resolveResource, resolveUrlPath
コンストラクターの詳細
PathResourceResolver
public PathResourceResolver()
メソッドの詳細
setAllowedLocations
デフォルトでは、リソースが見つかると、解決されたリソースのパスが比較され、見つかった入力場所にあることが確認されます。ただし、そうならない場合もあります。たとえば、CssLinkResourceTransformer
がそれに含まれるリンクのパブリック URL を解決する場合、CSS ファイルが場所であり、解決されるリソースは、隣接ディレクトリまたは親ディレクトリにある CSS ファイル、イメージ、フォントなどです。このプロパティを使用すると、リソースが存在する必要がある場所の完全なリストを構成できるため、リソースが見つかった場所に相対的でない場合は、このリストもチェックできます。
デフォルトでは、
ResourceWebHandler
はこのプロパティを初期化して、場所のリストに一致させます。- パラメーター:
locations
- 許可された場所のリスト
getAllowedLocations
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 path, ListSE<? extends Resource> locations, ResourceResolverChain chain) - 次で指定:
- クラス
AbstractResourceResolver
のresolveUrlPathInternal
getResource
protected reactor.core.publisher.Mono<Resource> getResource(StringSE resourcePath, Resource location) 指定された場所でリソースを見つけます。デフォルトの実装では、場所に関連する指定されたパスに読み取り可能な
Resource
があるかどうかを確認します。- パラメーター:
resourcePath
- リソースへのパスlocation
- チェックする場所- 戻り値:
- リソース、または何も見つからない場合は空の
Mono
checkResource
リソースが存在し、読み取り可能かどうかのチェック以外に、解決されたリソースに対して追加のチェックを実行します。デフォルトの実装では、リソースが見つかった場所に関連する場所にあるか、allowed locations
のいずれかにあるかも検証します。- パラメーター:
resource
- チェックするリソースlocation
- リソースが見つかった相対位置- 戻り値:
- リソースが有効な場所にある場合は "true"、それ以外の場合は "false"
- 例外:
IOExceptionSE