インターフェース ServerWebExchange

すべての既知の実装クラス:
DefaultServerWebExchangeMockServerWebExchangeServerWebExchangeDecorator

public interface ServerWebExchange
HTTP リクエストとレスポンスの相互作用の契約。HTTP リクエストとレスポンスへのアクセスを提供し、リクエスト属性などのサーバー側の処理に関連する追加のプロパティと機能も公開します。
導入:
5.0
作成者:
Rossen Stoyanchev
  • フィールドの詳細

    • LOG_ID_ATTRIBUTE

      static final StringSE LOG_ID_ATTRIBUTE
      この交換のログメッセージを関連付けるために使用できる attribute の名前。getLogPrefix() を使用して、この属性に基づいて一貫した形式のプレフィックスを取得します。
      導入:
      5.1
      関連事項:
  • メソッドの詳細

    • getRequest

      ServerHttpRequest getRequest()
      現在の HTTP リクエストを返します。
    • getResponse

      ServerHttpResponse getResponse()
      現在の HTTP レスポンスを返します。
    • getAttributes

      MapSE<StringSE,ObjectSE> getAttributes()
      現在の交換のリクエスト属性の可変マップを返します。
    • getAttribute

      @Nullable default <T> T getAttribute(StringSE name)
      存在する場合はリクエスト属性値を返します。
      型パラメーター:
      T - 属性型
      パラメーター:
      name - 属性名
      戻り値:
      属性値
    • getRequiredAttribute

      default <T> T getRequiredAttribute(StringSE name)
      リクエスト属性値を返すか、存在しない場合は IllegalArgumentExceptionSE を発生させます。
      型パラメーター:
      T - 属性型
      パラメーター:
      name - 属性名
      戻り値:
      属性値
    • getAttributeOrDefault

      default <T> T getAttributeOrDefault(StringSE name, T defaultValue)
      リクエスト属性値、またはデフォルトのフォールバック値を返します。
      型パラメーター:
      T - 属性型
      パラメーター:
      name - 属性名
      defaultValue - 代わりに返すデフォルト値
      戻り値:
      属性値
    • getSession

      reactor.core.publisher.Mono<WebSession> getSession()
      現在のリクエストの Web セッションを返します。クライアントがリクエストしたセッション ID に一致するか、クライアントが指定していないか、基礎となるセッションの有効期限が切れたため、新しいセッション ID でインスタンスを返すことが常に保証されます。このメソッドを使用しても、セッションは自動的に作成されません。詳細については、WebSession を参照してください。
    • getPrincipal

      <T extends PrincipalSE> reactor.core.publisher.Mono<T> getPrincipal()
      リクエストに対して認証されたユーザーがいる場合、それを返します。
    • getFormData

      reactor.core.publisher.Mono<MultiValueMap<StringSE,StringSE>> getFormData()
      Content-Type が "application/x-www-form-urlencoded" の場合はリクエストの本文からフォームデータを返し、それ以外の場合は空のマップを返します。

      注意 : このメソッドを呼び出すと、リクエストの本文が完全に読み取られて解析され、結果の MultiValueMap がキャッシュされるため、このメソッドを複数回呼び出しても安全です。

    • getMultipartData

      reactor.core.publisher.Mono<MultiValueMap<StringSE,Part>> getMultipartData()
      Content-Type が "multipart/form-data" である場合はマルチパートリクエストの部分を返し、そうでない場合は空のマップを返します。

      注意 : このメソッドを呼び出すと、リクエストの本文が完全に読み取られて解析され、結果の MultiValueMap がキャッシュされるため、このメソッドを複数回呼び出しても安全です。

      : 各部分のコンテンツはキャッシュされず、1 回しか読み取ることができません。

    • cleanupMultipart

      default reactor.core.publisher.Mono<VoidSE> cleanupMultipart()
      マルチパート処理に使用されるストレージをクリーンアップします。
      導入:
      6.0.10
      関連事項:
    • getLocaleContext

      LocaleContext getLocaleContext()
      設定された LocaleContextResolver を使用して LocaleContext を返します。
    • getApplicationContext

      @Nullable ApplicationContext getApplicationContext()
      WebHttpHandlerBuilder.applicationContext(ApplicationContext) で初期化された場合、Web アプリケーションに関連付けられた ApplicationContext を返します。
      導入:
      5.0.3
      関連事項:
    • isNotModified

      boolean isNotModified()
      この契約の checkNotModified メソッドの 1 つが使用され、true を返した場合、true を返します。
    • checkNotModified

      boolean checkNotModified(InstantSE lastModified)
      タイムスタンプが最後に変更された checkNotModified(String, Instant) のオーバーロードバリアント。
      パラメーター:
      lastModified - 最終変更時刻
      戻り値:
      リクエストが変更されていないものとみなされるかどうか
    • checkNotModified

      boolean checkNotModified(StringSE etag)
      ETag (エンティティタグ)値のみを持つ checkNotModified(String, Instant) のオーバーロードされたバリアント。
      パラメーター:
      etag - 基になるリソースのエンティティタグ。
      戻り値:
      リクエストがそれ以上の処理を必要としない場合は true。
    • checkNotModified

      boolean checkNotModified(@Nullable StringSE etag, InstantSE lastModified)
      提供された ETag (エンティティタグ)およびアプリケーションによって決定された最終変更のタイムスタンプを前提として、リクエストされたリソースが変更されているかどうかを確認します。また、レスポンスを透過的に準備し、HTTP ステータスを設定し、必要に応じて "ETag" および "Last-Modified" ヘッダーを追加します。このメソッドは、条件付き GET/HEAD リクエストと条件付き POST/PUT/DELETE リクエストで機能します。

      注意 : HTTP 仕様では、ETag 値と Last-Modified 値の両方を設定することを推奨していますが、#checkNotModified(String) または checkNotModified(Instant) を使用することもできます。

      パラメーター:
      etag - アプリケーションが基になるリソースに対して決定したエンティティタグ。このパラメーターには、必要に応じて引用符(")が埋め込まれます。
      lastModified - アプリケーションが基礎となるリソースについて決定した最終変更のタイムスタンプ
      戻り値:
      リクエストがそれ以上の処理を必要としない場合は true。
    • transformUrl

      StringSE transformUrl(StringSE url)
      登録された変換関数に従って、指定された URL を変換します。デフォルトでは、このメソッドは指定された url を返しますが、追加の変換関数を addUrlTransformer(java.util.function.Function<java.lang.String, java.lang.String>) に登録できます。
      パラメーター:
      url - 変換する URL
      戻り値:
      変換された URL
    • addUrlTransformer

      void addUrlTransformer(FunctionSE<StringSE,StringSE> transformer)
      transformUrl(java.lang.String) で使用する追加の URL 変換関数を登録します。指定された関数を使用して、認証用の ID、CSRF 保護用のノンスなどを挿入できます。

      指定された関数は、以前に登録された関数の後に適用されます。

      パラメーター:
      transformer - 追加する URL 変換関数
    • getLogPrefix

      StringSE getLogPrefix()
      この交換のメッセージを関連付けるために使用するログメッセージプレフィックスを返します。接頭辞は、属性 LOG_ID_ATTRIBUTE の値といくつかの追加の書式に基づいているため、接頭辞を追加して、セパレータを必要としない書式を追加する必要はありません。
      戻り値:
      ログメッセージのプレフィックス、または LOG_ID_ATTRIBUTE が設定されていない場合は空の文字列
      導入:
      5.1
    • mutate

      default ServerWebExchange.Builder mutate()
      ServerWebExchangeDecorator でラップし、変更された値を返すか、このインスタンスに委譲することにより、この交換のプロパティを変更するビルダーを返します。