アノテーションインターフェース HttpExchange


@TargetSE({TYPESE,METHODSE}) @RetentionSE(RUNTIMESE) @DocumentedSE @Reflective(org.springframework.web.service.annotation.HttpExchangeReflectiveProcessor.class) public @interface HttpExchange
HTTP サービスインターフェース上のメソッドを HTTP エンドポイントとして宣言するためのアノテーション。エンドポイントの詳細は、アノテーションの属性および入力メソッドの引数の型を通じて静的に定義されます。

HTTP サービスインターフェースを HttpServiceProxyFactory に渡して、クライアントプロキシを作成できます。サーバー処理のために @Controller によって実装することもできます。@RequestMapping との比較の詳細については、リファレンスドキュメントを参照してください。

ベース URL パスなど、すべてのメソッドによって継承される共通属性を表現するための型レベルでのサポート。メソッドレベルでは、次の HTTP メソッド固有のショートカットアノテーションのいずれかを使用するのが一般的であり、それぞれのアノテーション自体に HttpExchangeメタアノテーションが付けられています。

サポートされているメソッド引数:

メソッド引数 説明 リゾルバー
URISE アノテーションの url() 属性をオーバーライドして、リクエストの URL を動的に設定します UrlArgumentResolver
UriBuilderFactory リクエストの base URI を動的に設定し、アノテーションの url() 属性の base URI をオーバーライドします。その一方で、後続のパスセグメントはそこで定義されているとおりに維持します。UriBuilderFactoryArgumentResolver
HttpMethod アノテーションの method() 属性をオーバーライドして、リクエストの HTTP メソッドを動的に設定する HttpMethodArgumentResolver
@RequestHeader リクエストヘッダーを追加する RequestHeaderArgumentResolver
@PathVariableURI テンプレートのパス変数を追加する PathVariableArgumentResolver
@RequestBody リクエストの本文を設定する RequestBodyArgumentResolver
@RequestParam リクエストパラメーターを追加します。"Content-Type" が "application/x-www-form-urlencoded" の場合はフォームデータ、それ以外の場合はクエリパラメーターのいずれかです。RequestParamArgumentResolver
@RequestPart リクエスト部分を追加します。リクエスト部分は、文字列 (フォームフィールド)、Resource (ファイル部分)、オブジェクト (JSON などの形式でエンコードされるエンティティ)、HttpEntity (部分コンテンツとヘッダー)、Part、上記のいずれかの Publisher になります。RequestPartArgumentResolver
@CookieValue クッキーを追加する CookieValueArgumentResolver
導入:
6.0
作成者:
Rossen Stoyanchev
  • オプション要素のサマリー

    オプション要素
    修飾子と型
    オプションの要素
    説明
    "Accept" ヘッダーのメディア型。
    "Content-Type" ヘッダーのメディア型。
    使用する追加ヘッダー (name=value ペアの配列)。
    使用する HTTP メソッド。
    リクエストの URL。型レベルの @HttpExchange で宣言された URL に相対する完全な URL またはパスのみ、および / またはグローバルに構成されたベース URL。
    これは url() の別名です。
  • 要素の詳細

    • value

      @AliasFor("url") StringSE value
      これは url() の別名です。
      デフォルト:
      ""
    • url

      @AliasFor("value") StringSE url
      リクエストの URL。型レベルの @HttpExchange で宣言された URL に相対する完全な URL またはパスのみ、および / またはグローバルに構成されたベース URL。

      デフォルトでは、これは空です。

      デフォルト:
      ""
    • method

      StringSE method
      使用する HTTP メソッド。

      型 レベルとメソッドレベルでサポートされます。型 レベルで使用すると、すべてのメソッドレベルのマッピングがこの値を継承します。

      デフォルトでは、これは空です。

      デフォルト:
      ""
    • contentType

      StringSE contentType
      "Content-Type" ヘッダーのメディア型。

      型 レベルとメソッドレベルでサポートされます。この場合、メソッドレベルの値が型 レベルの値をオーバーライドします。

      デフォルトでは、これは空です。

      デフォルト:
      ""
    • accept

      StringSE[] accept
      "Accept" ヘッダーのメディア型。

      型 レベルとメソッドレベルでサポートされます。この場合、メソッドレベルの値が型 レベルの値をオーバーライドします。

      デフォルトでは、これは空です。

      デフォルト:
      {}
    • headers

      StringSE[] headers
      使用する追加ヘッダー (name=value ペアの配列)。

      複数のコンマ区切りの値が受け入れられ、これらの値ではプレースホルダーがサポートされます。ただし、Accept ヘッダーと Content-Type ヘッダーは無視されます。accept()contentType() を参照してください。

      型 レベルとメソッドレベルでサポートされます。この場合、メソッドレベルの値が型 レベルの値をオーバーライドします。

      デフォルトでは、これは空です。

      導入:
      6.2
      デフォルト:
      {}