public class ServerWebExchangeDecorator extends ObjectSE implements ServerWebExchange
ServerWebExchange
をラップする必要があるクラスの便利な基本クラス。ラップされたインスタンスに委譲することにより、すべてのメソッドを事前実装します。 注意 : デコレータを使用する目的が getPrincipal()
のようなプロパティをオーバーライドすることである場合は、代わりに ServerWebExchange.mutate()
の使用を検討してください。
ServerWebExchange.mutate()
ServerWebExchange.Builder
LOG_ID_ATTRIBUTE
修飾子 | コンストラクターと説明 |
---|---|
protected | ServerWebExchangeDecorator(ServerWebExchange delegate) |
修飾子と型 | メソッドと説明 |
---|---|
void | addUrlTransformer(FunctionSE<StringSE, StringSE> transformer) ServerWebExchange.transformUrl(java.lang.String) で使用する追加の URL 変換関数を登録します。 |
boolean | checkNotModified(InstantSE lastModified) タイムスタンプが最後に変更された ServerWebExchange.checkNotModified(String, Instant) のオーバーロードバリアント。 |
boolean | checkNotModified(StringSE etag) ETag (エンティティタグ)値のみを持つ ServerWebExchange.checkNotModified(String, Instant) のオーバーロードされたバリアント。 |
boolean | checkNotModified(StringSE etag, InstantSE lastModified) 提供された ETag (エンティティタグ)およびアプリケーションによって決定された最終変更タイムスタンプを指定して、リクエストされたリソースが変更されたかどうかを確認します。 |
ApplicationContext | getApplicationContext() WebHttpHandlerBuilder.applicationContext(ApplicationContext) で初期化された場合、Web アプリケーションに関連付けられた ApplicationContext を返します。 |
MapSE<StringSE, ObjectSE> | getAttributes() 現在の交換のリクエスト属性の可変マップを返します。 |
ServerWebExchange | getDelegate() |
reactor.core.publisher.Mono<MultiValueMap<StringSE, StringSE>> | getFormData() Content-Type が "application/x-www-form-urlencoded" の場合はリクエストの本文からフォームデータを返し、それ以外の場合は空のマップを返します。 |
LocaleContext | getLocaleContext() 設定された LocaleContextResolver を使用して LocaleContext を返します。 |
StringSE | getLogPrefix() この交換のメッセージを相関させるために使用するログメッセージプレフィックスを返します。 |
reactor.core.publisher.Mono<MultiValueMap<StringSE, Part>> | getMultipartData() Content-Type が "multipart/form-data" である場合はマルチパートリクエストの部分を返し、そうでない場合は空のマップを返します。 |
<T extends PrincipalSE> | getPrincipal() リクエストに対して認証されたユーザーがいる場合、それを返します。 |
ServerHttpRequest | getRequest() 現在の HTTP リクエストを返します。 |
ServerHttpResponse | getResponse() 現在の HTTP レスポンスを返します。 |
reactor.core.publisher.Mono<WebSession> | getSession() 現在のリクエストの Web セッションを返します。 |
boolean | isNotModified() この契約の checkNotModified メソッドの 1 つが使用され、true を返した場合、true を返します。 |
StringSE | toString() |
StringSE | transformUrl(StringSE url) 登録された変換関数に従って、指定された URL を変換します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
getAttribute, getAttributeOrDefault, getRequiredAttribute, mutate
protected ServerWebExchangeDecorator(ServerWebExchange delegate)
public ServerWebExchange getDelegate()
public ServerHttpRequest getRequest()
ServerWebExchange
ServerWebExchange
の getRequest
public ServerHttpResponse getResponse()
ServerWebExchange
ServerWebExchange
の getResponse
public MapSE<StringSE,ObjectSE> getAttributes()
ServerWebExchange
ServerWebExchange
の getAttributes
public reactor.core.publisher.Mono<WebSession> getSession()
ServerWebExchange
WebSession
を参照してください。ServerWebExchange
の getSession
public <T extends PrincipalSE> reactor.core.publisher.Mono<T> getPrincipal()
ServerWebExchange
ServerWebExchange
の getPrincipal
public LocaleContext getLocaleContext()
ServerWebExchange
LocaleContextResolver
を使用して LocaleContext
を返します。ServerWebExchange
の getLocaleContext
public ApplicationContext getApplicationContext()
ServerWebExchange
WebHttpHandlerBuilder.applicationContext(ApplicationContext)
で初期化された場合、Web アプリケーションに関連付けられた ApplicationContext
を返します。public reactor.core.publisher.Mono<MultiValueMap<StringSE,StringSE>> getFormData()
ServerWebExchange
"application/x-www-form-urlencoded"
の場合はリクエストの本文からフォームデータを返し、それ以外の場合は空のマップを返します。 注意 : このメソッドを呼び出すと、リクエストの本文が完全に読み取られて解析され、結果の MultiValueMap
がキャッシュされるため、このメソッドを複数回呼び出しても安全です。
ServerWebExchange
の getFormData
public reactor.core.publisher.Mono<MultiValueMap<StringSE,Part>> getMultipartData()
ServerWebExchange
"multipart/form-data"
である場合はマルチパートリクエストの部分を返し、そうでない場合は空のマップを返します。 注意 : このメソッドを呼び出すと、リクエストの本文が完全に読み取られて解析され、結果の MultiValueMap
がキャッシュされるため、このメソッドを複数回呼び出しても安全です。
注 : 各部分のコンテンツはキャッシュされず、1 回しか読み取ることができません。
ServerWebExchange
の getMultipartData
public boolean isNotModified()
ServerWebExchange
checkNotModified
メソッドの 1 つが使用され、true を返した場合、true
を返します。ServerWebExchange
の isNotModified
public boolean checkNotModified(InstantSE lastModified)
ServerWebExchange
ServerWebExchange.checkNotModified(String, Instant)
のオーバーロードバリアント。ServerWebExchange
の checkNotModified
lastModified
- 最終変更時刻 public boolean checkNotModified(StringSE etag)
ServerWebExchange
ETag
(エンティティタグ)値のみを持つ ServerWebExchange.checkNotModified(String, Instant)
のオーバーロードされたバリアント。ServerWebExchange
の checkNotModified
etag
- 基になるリソースのエンティティタグ。public boolean checkNotModified(@Nullable StringSE etag, InstantSE lastModified)
ServerWebExchange
ETag
(エンティティタグ)およびアプリケーションによって決定された最終変更のタイムスタンプを前提として、リクエストされたリソースが変更されているかどうかを確認します。また、レスポンスを透過的に準備し、HTTP ステータスを設定し、必要に応じて "ETag" および "Last-Modified" ヘッダーを追加します。このメソッドは、条件付き GET/HEAD リクエストと条件付き POST/PUT/DELETE リクエストで機能します。 注意 : HTTP 仕様では、ETag 値と Last-Modified 値の両方を設定することを推奨していますが、#checkNotModified(String)
または ServerWebExchange.checkNotModified(Instant)
を使用することもできます。
ServerWebExchange
の checkNotModified
etag
- アプリケーションが基になるリソースに対して決定したエンティティタグ。このパラメーターには、必要に応じて引用符(")が埋め込まれます。lastModified
- アプリケーションが基礎となるリソースについて決定した最終変更のタイムスタンプ public StringSE transformUrl(StringSE url)
ServerWebExchange
url
を返しますが、追加の変換関数は ServerWebExchange.addUrlTransformer(java.util.function.Function<java.lang.String, java.lang.String>)
に登録できます。ServerWebExchange
の transformUrl
url
- 変換する URLpublic void addUrlTransformer(FunctionSE<StringSE,StringSE> transformer)
ServerWebExchange
ServerWebExchange.transformUrl(java.lang.String)
で使用する追加の URL 変換関数を登録します。指定された関数を使用して、認証用の ID、CSRF 保護用のノンスなどを挿入できます。指定された関数は、以前に登録された関数の後に適用されます。
ServerWebExchange
の addUrlTransformer
transformer
- 追加する URL 変換関数 public StringSE getLogPrefix()
ServerWebExchange
ServerWebExchange.LOG_ID_ATTRIBUTE
の値といくつかの追加の書式に基づいているため、接頭辞を追加して、セパレータを必要としない書式を追加する必要はありません。ServerWebExchange
の getLogPrefix
ServerWebExchange.LOG_ID_ATTRIBUTE
が設定されていない場合は空の文字列 public StringSE toString()
ObjectSE
の toStringSE