インターフェース ServerWebExchange
public interface ServerWebExchange
HTTP リクエストとレスポンスの相互作用の契約。HTTP リクエストとレスポンスへのアクセスを提供し、リクエスト属性などのサーバー側の処理に関連する追加のプロパティと機能も公開します。
- 導入:
- 5.0
- 作成者:
- Rossen Stoyanchev
ネストされたクラスの要約
ネストされたクラスフィールドのサマリー
フィールドメソッドのサマリー
修飾子と型メソッド説明voidaddUrlTransformer(FunctionSE<StringSE, StringSE> transformer) transformUrl(java.lang.String)で使用する追加の URL 変換関数を登録します。booleancheckNotModified(StringSE etag) ETag(エンティティタグ)値のみを持つcheckNotModified(String, Instant)のオーバーロードされたバリアント。booleancheckNotModified(StringSE etag, InstantSE lastModified) 提供されたETag(エンティティタグ)およびアプリケーションによって決定された最終変更タイムスタンプを指定して、リクエストされたリソースが変更されたかどうかを確認します。booleancheckNotModified(InstantSE lastModified) タイムスタンプが最後に変更されたcheckNotModified(String, Instant)のオーバーロードバリアント。default reactor.core.publisher.Mono<VoidSE>マルチパート処理に使用されるストレージをクリーンアップします。WebHttpHandlerBuilder.applicationContext(ApplicationContext)で初期化された場合、Web アプリケーションに関連付けられたApplicationContextを返します。default <T> TgetAttribute(StringSE name) 存在する場合はリクエスト属性値を返します。default <T> TgetAttributeOrDefault(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> TgetRequiredAttribute(StringSE name) リクエスト属性値を返すか、存在しない場合はIllegalArgumentExceptionSE を発生させます。現在の HTTP レスポンスを返します。reactor.core.publisher.Mono<WebSession>現在のリクエストの Web セッションを返します。booleanこの契約のcheckNotModifiedメソッドの 1 つが使用され、true を返した場合、trueを返します。default ServerWebExchange.Buildermutate()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
リクエスト属性値を返すか、存在しない場合はIllegalArgumentExceptionSE を発生させます。- 型パラメーター:
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でラップし、変更された値を返すか、このインスタンスに委譲することにより、この交換のプロパティを変更するビルダーを返します。