クラス VersionRequestCondition

実装されているすべてのインターフェース:
RequestCondition<VersionRequestCondition>

public final class VersionRequestCondition extends AbstractRequestCondition<VersionRequestCondition>
リクエストの API バージョンに基づいてマップするリクエスト条件。バージョンは、RequestMapping.version() に従って、固定 (例: "1.2") またはベースライン (例: "1.2+") にすることができます。
導入:
7.0
作成者:
Rossen Stoyanchev
  • コンストラクターの詳細

    • VersionRequestCondition

      public VersionRequestCondition(@Nullable StringSE version, @Nullable ApiVersionStrategy strategy)
      @RequestMapping に設定されている場合はバージョンを持つコンストラクター。API バージョン管理が有効な場合は ApiVersionStrategy にバージョンを持つコンストラクター。
  • メソッドの詳細

    • getContent

      protected CollectionSE<StringSE> getContent()
      クラスからコピーされた説明: AbstractRequestCondition
      リクエスト条件を構成する個別のアイテムを返します。

      たとえば、URL パターン、HTTP リクエストメソッド、パラメーター式など。

      次で指定:
      クラス AbstractRequestCondition<VersionRequestCondition>getContent 
      戻り値:
      オブジェクトのコレクション (非 null)
    • getToStringInfix

      protected StringSE getToStringInfix()
      クラスからコピーされた説明: AbstractRequestCondition
      コンテンツの個別のアイテムを出力するときに使用する表記。

      たとえば、URL パターンの " || " または param 式の " && "

      次で指定:
      クラス AbstractRequestCondition<VersionRequestCondition>getToStringInfix 
    • getVersion

      public @Nullable StringSE getVersion()
      生のバージョン値を返します。
    • combine

      インターフェースからコピーされた説明: RequestCondition
      この条件を、型レベルおよびメソッドレベルの @RequestMapping アノテーションからの条件などの別の条件と組み合わせます。
      パラメーター:
      other - 組み合わせる条件。
      戻り値:
      2 つの条件インスタンスを組み合わせた結果であるリクエスト条件インスタンス。
    • getMatchingCondition

      public @Nullable VersionRequestCondition getMatchingCondition(HttpServletRequestEE request)
      インターフェースからコピーされた説明: RequestCondition
      条件がリクエストと一致するかどうかを確認し、現在のリクエストに対して作成された潜在的に新しいインスタンスを返します。たとえば、複数の URL パターンを持つ条件は、リクエストに一致するパターンのみを持つ新しいインスタンスを返す場合があります。

      CORS プリフライトリクエストの場合、条件は実際のリクエスト (たとえば、URL パターン、クエリパラメーター、"Access-Control-Request-Method" ヘッダーの HTTP メソッド) と一致する必要があります。条件がプリフライトリクエストと一致しない場合は、空のコンテンツを含むインスタンスを返す必要があります。これにより、一致の失敗は発生しません。

      戻り値:
      一致する場合は条件インスタンス、それ以外の場合は null
    • compareTo

      public int compareTo(VersionRequestCondition other, HttpServletRequestEE request)
      インターフェースからコピーされた説明: RequestCondition
      この条件を、特定のリクエストのコンテキストで別の条件と比較します。この方法では、両方のインスタンスが RequestCondition.getMatchingCondition(HttpServletRequest) を介して取得されており、現在のリクエストにのみ関連するコンテンツがあることを確認します。
    • handleMatch

      public void handleMatch(HttpServletRequestEE request)
      一致したリクエストマッピングバージョンの最終チェックを実行します。

      ベースラインバージョンがより高い固定バージョンによって適切に制限されるようにするために、最初にすべてのバージョンを getMatchingCondition(HttpServletRequest) のベースラインバージョンとして一致させます。複数の一致のうち最も高いものが選択されると、固定バージョンに対して厳密な一致が適用されます。

      たとえば、"1.2+" および "1.5" のコントローラーメソッドと "1.6" のリクエストが指定されている場合、両方が一致し、"1.5" を選択できますが、完全に一致しないため受け入れられないとして拒否されます。

      パラメーター:
      request - 現在のリクエスト
      例外:
      NotAcceptableApiVersionException - 一致した条件に、リクエストバージョンと等しくない固定バージョンがある場合