クラス DefaultApiVersionStrategy

java.lang.ObjectSE
org.springframework.web.reactive.accept.DefaultApiVersionStrategy
実装されているすべてのインターフェース:
ApiVersionStrategy

public class DefaultApiVersionStrategy extends ObjectSE implements ApiVersionStrategy
構成されたバージョンリゾルバー、バージョンパーサー、非推奨ハンドラーに委譲する ApiVersionStrategy のデフォルト実装。
導入:
7.0
作成者:
Rossen Stoyanchev
  • コンストラクターの詳細

    • DefaultApiVersionStrategy

      public DefaultApiVersionStrategy(ListSE<ApiVersionResolver> versionResolvers, ApiVersionParser<?> versionParser, @Nullable BooleanSE versionRequired, @Nullable StringSE defaultVersion, boolean detectSupportedVersions, @Nullable PredicateSE<ComparableSE<?>> supportedVersionPredicate, @Nullable ApiVersionDeprecationHandler deprecationHandler)
      インスタンスの作成。
      パラメーター:
      versionResolvers - 試すリゾルバーは 1 つ以上あります。リゾルバーによって返される最初の非 NULL 値が、解決された値になります。
      versionParser - 生のバージョン値パーサー
      versionRequired - バージョンが必要かどうか。バージョンがないリクエストに対して MissingApiVersionException になります。デフォルトでは、defaultVersion がない限り true に設定されます。
      defaultVersion - 指定されていないリクエストに割り当てるデフォルトのバージョン
      detectSupportedVersions - サポートされているバージョンの検証にマッピングに表示される API バージョンを使用するか (true)、明示的に構成されたバージョンのみを使用するか (false)。
      deprecationHandler - 非推奨の API バージョンに関するヒントと情報をクライアントに送信するハンドラー
  • メソッドの詳細

    • getDefaultVersion

      public @Nullable ComparableSE<?> getDefaultVersion()
      インターフェースからコピーされた説明: ApiVersionStrategy
      指定されていないリクエストに対して使用するデフォルトのバージョンを返します。
      次で指定:
      インターフェース ApiVersionStrategygetDefaultVersion 
    • detectSupportedVersions

      public boolean detectSupportedVersions()
      サポートされているバージョンを検出するように戦略が設定されているかどうか。これが false に設定されている場合、addMappedVersion(String...) は無視され、サポートされているバージョンのリストは addSupportedVersion(String...) の呼び出しを通じて明示的に構築できます。
    • addSupportedVersion

      public void addSupportedVersion(StringSE... versions)
      不明なバージョンに対して InvalidApiVersionException を発生させる前に、ApiVersionStrategy.validateVersion(Comparable, ServerWebExchange) でチェックするサポートされているバージョンのリストに追加します。

      デフォルトでは、リクエストマッピングに表示される実際のバージョン値はサポートされていると見なされ、このメソッドの使用は任意です。ただし、明示的に設定されたサポートされているバージョンのみを使用する場合は、detectSupportedVersions フラグを false に設定してください。

      パラメーター:
      versions - 追加するサポートされているバージョン
      関連事項:
    • addMappedVersion

      public void addMappedVersion(StringSE... versions)
      リクエストマッピングに表示される実際のバージョン値のリストに追加する内部メソッド。これにより、configured ではなくサポートされているバージョンを検出できるようになります。

      明示的に構成されたサポートされているバージョンのみを使用する場合は、detectSupportedVersions フラグを false に設定します。

      パラメーター:
      versions - 追加するバージョン
      関連事項:
    • resolveVersion

      public @Nullable StringSE resolveVersion(ServerWebExchange exchange)
      インターフェースからコピーされた説明: ApiVersionStrategy
      リクエストヘッダーなどのリクエストからバージョン値を解決します。
      次で指定:
      インターフェース ApiVersionStrategyresolveVersion 
      パラメーター:
      exchange - 現在の交換
      戻り値:
      バージョン(存在する場合)または null
      関連事項:
    • parseVersion

      public ComparableSE<?> parseVersion(StringSE version)
      インターフェースからコピーされた説明: ApiVersionStrategy
      リクエストのバージョンをオブジェクトに解析します。
      次で指定:
      インターフェース ApiVersionStrategyparseVersion 
      パラメーター:
      version - 解析する値
      戻り値:
      バージョンを表すオブジェクト
      関連事項:
    • validateVersion

      public void validateVersion(@Nullable ComparableSE<?> requestVersion, ServerWebExchange exchange) throws MissingApiVersionException, InvalidApiVersionException
      インターフェースからコピーされた説明: ApiVersionStrategy
      必要なバージョンとサポートされているバージョンのチェックを含め、リクエストバージョンを検証します。
      次で指定:
      インターフェース ApiVersionStrategyvalidateVersion 
      パラメーター:
      requestVersion - 検証するバージョン
      exchange - 交換
      例外:
      MissingApiVersionException - バージョンは必須だが指定されていない場合
      InvalidApiVersionException - バージョンがサポートされていない場合
    • handleDeprecations

      public void handleDeprecations(ComparableSE<?> version, ObjectSE handler, ServerWebExchange exchange)
      インターフェースからコピーされた説明: ApiVersionStrategy
      リクエストされた API バージョンが非推奨かどうかを確認し、非推奨の場合はそれに応じて処理します。たとえば、非推奨を通知するレスポンスヘッダーを設定したり、関連する日付を指定したり、詳細へのリンクを提供したりします。
      次で指定:
      インターフェース ApiVersionStrategyhandleDeprecations 
      パラメーター:
      version - 解決され解析されたリクエストバージョン
      handler - 交換のために選ばれたハンドラー
      exchange - 現在の交換
      関連事項:
    • toString

      public StringSE toString()
      オーバーライド:
      クラス ObjectSEtoString