インターフェース ServerWebExchange
public interface ServerWebExchange
HTTP リクエストとレスポンスの相互作用の契約。HTTP リクエストとレスポンスへのアクセスを提供し、リクエスト属性などのサーバー側の処理に関連する追加のプロパティと機能も公開します。
- 導入:
- 5.0
- 作成者:
- Rossen Stoyanchev
ネストされたクラスのサマリー
フィールドサマリー
メソッドのサマリー
修飾子と型メソッド説明void
addUrlTransformer
(FunctionSE<StringSE, StringSE> transformer) transformUrl(java.lang.String)
で使用する追加の URL 変換関数を登録します。boolean
checkNotModified
(StringSE etag) ETag
(エンティティタグ)値のみを持つcheckNotModified(String, Instant)
のオーバーロードされたバリアント。boolean
checkNotModified
(StringSE etag, InstantSE lastModified) 提供されたETag
(エンティティタグ)およびアプリケーションによって決定された最終変更タイムスタンプを指定して、リクエストされたリソースが変更されたかどうかを確認します。boolean
checkNotModified
(InstantSE lastModified) タイムスタンプが最後に変更されたcheckNotModified(String, Instant)
のオーバーロードバリアント。default reactor.core.publisher.Mono<VoidSE>
マルチパート処理に使用されるストレージをクリーンアップします。WebHttpHandlerBuilder.applicationContext(ApplicationContext)
で初期化された場合、Web アプリケーションに関連付けられたApplicationContext
を返します。default <T> T
getAttribute
(StringSE name) 存在する場合はリクエスト属性値を返します。default <T> T
getAttributeOrDefault
(StringSE name, T defaultValue) リクエスト属性値、またはデフォルトのフォールバック値を返します。現在の交換のリクエスト属性の可変マップを返します。reactor.core.publisher.Mono<MultiValueMap<StringSE,
StringSE>> Content-Type が"application/x-www-form-urlencoded"
の場合はリクエストの本文からフォームデータを返し、それ以外の場合は空のマップを返します。設定されたLocaleContextResolver
を使用してLocaleContext
を返します。この交換のメッセージを相関させるために使用するログメッセージプレフィックスを返します。reactor.core.publisher.Mono<MultiValueMap<StringSE,
Part>> Content-Type が"multipart/form-data"
である場合はマルチパートリクエストの部分を返し、そうでない場合は空のマップを返します。<T extends PrincipalSE>
reactor.core.publisher.Mono<T>リクエストに対して認証されたユーザーがいる場合、それを返します。現在の HTTP リクエストを返します。default <T> T
getRequiredAttribute
(StringSE name) リクエスト属性値を返すか、存在しない場合はIllegalArgumentException
SE を発生させます。現在の HTTP レスポンスを返します。reactor.core.publisher.Mono<WebSession>
現在のリクエストの Web セッションを返します。boolean
この契約のcheckNotModified
メソッドの 1 つが使用され、true を返した場合、true
を返します。default ServerWebExchange.Builder
mutate()
ServerWebExchangeDecorator
でラップし、変更された値を返すか、このインスタンスに委譲することにより、この交換のプロパティを変更するビルダーを返します。transformUrl
(StringSE url) 登録された変換関数に従って、指定された URL を変換します。
フィールドの詳細
LOG_ID_ATTRIBUTE
この交換のログメッセージを関連付けるために使用できるattribute
の名前。getLogPrefix()
を使用して、この属性に基づいて一貫した形式のプレフィックスを取得します。- 導入:
- 5.1
- 関連事項:
メソッドの詳細
getRequest
ServerHttpRequest getRequest()現在の HTTP リクエストを返します。getResponse
ServerHttpResponse getResponse()現在の HTTP レスポンスを返します。getAttributes
現在の交換のリクエスト属性の可変マップを返します。getAttribute
存在する場合はリクエスト属性値を返します。- 型パラメーター:
T
- 属性型- パラメーター:
name
- 属性名- 戻り値:
- 属性値
getRequiredAttribute
リクエスト属性値を返すか、存在しない場合はIllegalArgumentException
SE を発生させます。- 型パラメーター:
T
- 属性型- パラメーター:
name
- 属性名- 戻り値:
- 属性値
getAttributeOrDefault
リクエスト属性値、またはデフォルトのフォールバック値を返します。- 型パラメーター:
T
- 属性型- パラメーター:
name
- 属性名defaultValue
- 代わりに返すデフォルト値- 戻り値:
- 属性値
getSession
reactor.core.publisher.Mono<WebSession> getSession()現在のリクエストの Web セッションを返します。クライアントがリクエストしたセッション ID に一致するか、クライアントが指定していないか、基礎となるセッションの有効期限が切れたため、新しいセッション ID でインスタンスを返すことが常に保証されます。このメソッドを使用しても、セッションは自動的に作成されません。詳細については、WebSession
を参照してください。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
マルチパート処理に使用されるストレージをクリーンアップします。- 導入:
- 6.0.10
- 関連事項:
getLocaleContext
LocaleContext getLocaleContext()設定されたLocaleContextResolver
を使用してLocaleContext
を返します。getApplicationContext
WebHttpHandlerBuilder.applicationContext(ApplicationContext)
で初期化された場合、Web アプリケーションに関連付けられたApplicationContext
を返します。isNotModified
boolean isNotModified()この契約のcheckNotModified
メソッドの 1 つが使用され、true を返した場合、true
を返します。checkNotModified
タイムスタンプが最後に変更されたcheckNotModified(String, Instant)
のオーバーロードバリアント。- パラメーター:
lastModified
- 最終変更時刻- 戻り値:
- リクエストが変更されていないものとみなされるかどうか
checkNotModified
ETag
(エンティティタグ)値のみを持つcheckNotModified(String, Instant)
のオーバーロードされたバリアント。- パラメーター:
etag
- 基になるリソースのエンティティタグ。- 戻り値:
- リクエストがそれ以上の処理を必要としない場合は true。
checkNotModified
提供されたETag
(エンティティタグ)およびアプリケーションによって決定された最終変更のタイムスタンプを前提として、リクエストされたリソースが変更されているかどうかを確認します。また、レスポンスを透過的に準備し、HTTP ステータスを設定し、必要に応じて "ETag" および "Last-Modified" ヘッダーを追加します。このメソッドは、条件付き GET/HEAD リクエストと条件付き POST/PUT/DELETE リクエストで機能します。注意 : HTTP 仕様では、ETag 値と Last-Modified 値の両方を設定することを推奨していますが、
#checkNotModified(String)
またはcheckNotModified(Instant)
を使用することもできます。- パラメーター:
etag
- アプリケーションが基になるリソースに対して決定したエンティティタグ。このパラメーターには、必要に応じて引用符(")が埋め込まれます。lastModified
- アプリケーションが基礎となるリソースについて決定した最終変更のタイムスタンプ- 戻り値:
- リクエストがそれ以上の処理を必要としない場合は true。
transformUrl
登録された変換関数に従って、指定された URL を変換します。デフォルトでは、このメソッドは指定されたurl
を返しますが、追加の変換関数をaddUrlTransformer(java.util.function.Function<java.lang.String, java.lang.String>)
に登録できます。- パラメーター:
url
- 変換する URL- 戻り値:
- 変換された URL
addUrlTransformer
transformUrl(java.lang.String)
で使用する追加の URL 変換関数を登録します。指定された関数を使用して、認証用の ID、CSRF 保護用のノンスなどを挿入できます。指定された関数は、以前に登録された関数の後に適用されます。
- パラメーター:
transformer
- 追加する URL 変換関数
getLogPrefix
StringSE getLogPrefix()この交換のメッセージを関連付けるために使用するログメッセージプレフィックスを返します。接頭辞は、属性LOG_ID_ATTRIBUTE
の値といくつかの追加の書式に基づいているため、接頭辞を追加して、セパレータを必要としない書式を追加する必要はありません。- 戻り値:
- ログメッセージのプレフィックス、または
LOG_ID_ATTRIBUTE
が設定されていない場合は空の文字列 - 導入:
- 5.1
mutate
ServerWebExchangeDecorator
でラップし、変更された値を返すか、このインスタンスに委譲することにより、この交換のプロパティを変更するビルダーを返します。