インターフェース WebSession
- すべての既知の実装クラス:
- MockWebSession
public interface WebSession
HTTP リクエスト全体でセッション属性へのアクセスを提供するサーバー側セッションを使用するための主な契約。
WebSession インスタンスを作成してもセッションは自動的に開始されないため、セッション ID がクライアントに送信されます(通常は Cookie を介して)。セッション属性が追加されると、セッションは暗黙的に開始されます。セッションは start() を介して明示的に作成することもできます。
- 導入:
- 5.0
- 作成者:
- Rossen Stoyanchev
- メソッドのサマリー修飾子と型メソッド説明- reactor.core.publisher.Mono<VoidSE>セッションの新しい ID を生成し、基になるセッションストレージを更新して新しい ID を反映させます。- default <T> T- getAttribute- (StringSE name) 存在する場合、セッション属性値を返します。- default <T> T- getAttributeOrDefault- (StringSE name, T defaultValue) セッション属性値、またはデフォルトのフォールバック値を返します。セッション属性を保持するマップを返します。セッションが作成された時刻を返します。- getId()一意のセッション識別子を返します。HTTP リクエストなどのユーザーアクティビティの結果として、セッションアクセスの最後の時間を返します。- lastAccessTimeの後、セッションが期限切れになるまでの最大時間を返します。- default <T> T- getRequiredAttribute- (StringSE name) セッション属性値を返すか、存在しない場合は- IllegalArgumentExceptionSE を発生させます。- reactor.core.publisher.Mono<VoidSE>現在のセッションを無効にし、セッションストレージをクリアします。- boolean- maxIdleTimeの経過後にセッションが期限切れになった場合は、- trueを返します。- booleanクライアントとのセッションが- start()を介して明示的に開始されたか、セッション属性を追加して暗黙的に開始されたか。- reactor.core.publisher.Mono<VoidSE>- save()次のように- WebSessionStoreを介してセッションを保存します。セッションが新しい場合(つまり- void- setMaxIdleTime- (DurationSE maxIdleTime) - lastAccessTimeの後、セッションが期限切れと見なされるまでの最大時間を設定します。- void- start()- save()が呼び出されたときにセッション ID が送信されるように、セッションを強制的に作成します。
- メソッドの詳細- getIdStringSE getId()一意のセッション識別子を返します。
- getAttributesセッション属性を保持するマップを返します。
- getAttribute存在する場合、セッション属性値を返します。- 型パラメーター:
- T- 属性型
- パラメーター:
- name- 属性名
- 戻り値:
- 属性値
 
- getRequiredAttributeセッション属性値を返すか、存在しない場合は- IllegalArgumentExceptionSE を発生させます。- 型パラメーター:
- T- 属性型
- パラメーター:
- name- 属性名
- 戻り値:
- 属性値
 
- getAttributeOrDefaultセッション属性値、またはデフォルトのフォールバック値を返します。- 型パラメーター:
- T- 属性型
- パラメーター:
- name- 属性名
- defaultValue- 代わりに返すデフォルト値
- 戻り値:
- 属性値
 
- startvoid start()- save()が呼び出されたときにセッション ID が送信されるように、セッションを強制的に作成します。
- isStartedboolean isStarted()
- changeSessionIdreactor.core.publisher.Mono<VoidSE> changeSessionId()セッションの新しい ID を生成し、基になるセッションストレージを更新して新しい ID を反映させます。呼び出しが成功した後、- getId()は新しいセッション ID を反映します。- 戻り値:
- 完了通知 (成功またはエラー)
 
- invalidatereactor.core.publisher.Mono<VoidSE> invalidate()現在のセッションを無効にし、セッションストレージをクリアします。- 戻り値:
- 完了通知 (成功またはエラー)
 
- savereactor.core.publisher.Mono<VoidSE> save()次のように、- WebSessionStoreを介してセッションを保存します。- セッションが新しい(つまり、作成されたが永続化されていない)場合は、start()を介して明示的に開始されているか、属性を追加することによって暗黙的に開始されている必要があります。そうでない場合、このメソッドは効果がありません。
- セッションが WebSessionStoreを介して取得された場合、このメソッドの実装は、セッションがinvalidatedであったかどうかを確認し、そうであった場合はエラーを返す必要があります。
 - このメソッドは、アプリケーションで直接使用するためのものではないことに注意してください。代わりに、レスポンスがコミットされる直前に自動的に呼び出されます。 - 戻り値:
- Monoは、成功またはエラーで完了を示します
 
- セッションが新しい(つまり、作成されたが永続化されていない)場合は、
- isExpiredboolean isExpired()- maxIdleTimeの経過後にセッションが期限切れになった場合は、- trueを返します。- 通常、セッションがアクセスされたときに有効期限チェックが自動的に行われ、必要に応じて新しい - WebSessionインスタンスがリクエスト処理の開始時に作成されるため、アプリケーションはデフォルトで期限切れのセッションについて心配する必要がありません。
- getCreationTimeInstantSE getCreationTime()セッションが作成された時刻を返します。
- getLastAccessTimeInstantSE getLastAccessTime()HTTP リクエストなどのユーザーアクティビティの結果として、セッションアクセスの最後の時間を返します。- maxIdleTimeInSecondsと一緒に使用すると、いつセッションが- expiredであるかを判別できます。
- setMaxIdleTime- lastAccessTimeの後、セッションが期限切れと見なされるまでの最大時間を設定します。負の値は、セッションが期限切れにならないことを示します。
- getMaxIdleTimeDurationSE getMaxIdleTime()- lastAccessTimeの後、セッションが期限切れになるまでの最大時間を返します。負の時間は、セッションが期限切れにならないことを示します。