クラス PathResourceResolver

java.lang.ObjectSE
org.springframework.web.reactive.resource.AbstractResourceResolver
org.springframework.web.reactive.resource.PathResourceResolver
実装されたすべてのインターフェース:
ResourceResolver

public class PathResourceResolver extends AbstractResourceResolver
リクエストパスに一致する特定の場所でリソースを見つけようとする単純な ResourceResolver

このリゾルバーは ResourceResolverChain に委譲せず、リゾルバーのチェーンで最後に設定されることが期待されています。

導入:
5.0
作成者:
Rossen Stoyanchev, Sam Brannen
  • コンストラクターの詳細

    • PathResourceResolver

      public PathResourceResolver()
  • メソッドの詳細

    • setAllowedLocations

      public void setAllowedLocations(@Nullable Resource... locations)
      デフォルトでは、リソースが見つかると、解決されたリソースのパスが比較され、リソースが見つかった入力場所にあることが確認されます。ただし、そうでない場合もあります。CssLinkResourceTransformer が含まれるリンクのパブリック URL を解決する場合、CSS ファイルが場所であり、解決されるリソースは、隣接または親ディレクトリにある css ファイル、イメージ、フォントなどです。

      このプロパティを使用すると、リソースが存在する必要がある場所の完全なリストを構成できるため、リソースが見つかった場所に相対的でない場合は、このリストもチェックできます。

      デフォルトでは、ResourceWebHandler はこのプロパティを初期化して、場所のリストに一致させます。

      パラメーター:
      locations - 許可された場所のリスト
    • getAllowedLocations

      @Nullable public Resource[] getAllowedLocations()
    • resolveResourceInternal

      protected reactor.core.publisher.Mono<Resource> resolveResourceInternal(@Nullable ServerWebExchange exchange, StringSE requestPath, ListSE<? extends Resource> locations, ResourceResolverChain chain)
      次で指定:
      クラス AbstractResourceResolverresolveResourceInternal 
    • resolveUrlPathInternal

      protected reactor.core.publisher.Mono<StringSE> resolveUrlPathInternal(StringSE path, ListSE<? extends Resource> locations, ResourceResolverChain chain)
      次で指定:
      クラス AbstractResourceResolverresolveUrlPathInternal 
    • getResource

      protected reactor.core.publisher.Mono<Resource> getResource(StringSE resourcePath, Resource location)
      指定された場所でリソースを見つけます。

      デフォルトの実装では、場所に関連する指定されたパスに読み取り可能な Resource があるかどうかを確認します。

      パラメーター:
      resourcePath - リソースへのパス
      location - チェックする場所
      戻り値:
      リソース、または何も見つからない場合は空の Mono 
    • checkResource

      protected boolean checkResource(Resource resource, Resource location) throws IOExceptionSE
      リソースが存在し、読み取り可能かどうかのチェック以外に、解決されたリソースに対して追加のチェックを実行します。デフォルトの実装では、リソースが見つかった場所に関連する場所にあるか、allowed locations のいずれかにあるかも検証します。
      パラメーター:
      resource - チェックするリソース
      location - リソースが見つかった相対位置
      戻り値:
      リソースが有効な場所にある場合は "true"、それ以外の場合は "false"
      例外:
      IOExceptionSE