public interface ServerRequestHandlerFunction で処理されるサーバー側の HTTP リクエストを表します。ヘッダーと本文へのアクセスは、それぞれ ServerRequest.Headers と body(Class) によって提供されます。| 修飾子と型 | インターフェースと説明 |
|---|---|
static interface | ServerRequest.Builder リクエストのビルダーを定義します。 |
static interface | ServerRequest.HeadersHTTP リクエストのヘッダーを表します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
default OptionalSE<ObjectSE> | attribute(StringSE name) リクエスト属性値が存在する場合は取得します。 |
MapSE<StringSE, ObjectSE> | attributes() リクエスト属性の可変マップを取得します。 |
<T> T | body(ClassSE<T> bodyType) ボディを指定された型のオブジェクトとして抽出します。 |
<T> T | body(ParameterizedTypeReference<T> bodyType) ボディを指定された型のオブジェクトとして抽出します。 |
default OptionalSE<ServerResponse> | checkNotModified(InstantSE lastModified) 提供された最終変更タイムスタンプ(アプリケーションによって決定)を使用して、リクエストされたリソースが変更されたかどうかを確認します。 |
default OptionalSE<ServerResponse> | checkNotModified(InstantSE lastModified, StringSE etag) 提供された ETag (エンティティタグ)およびアプリケーションによって決定された最終変更タイムスタンプを指定して、リクエストされたリソースが変更されたかどうかを確認します。 |
default OptionalSE<ServerResponse> | checkNotModified(StringSE etag) 提供された ETag (エンティティタグ)を使用して、アプリケーションによって決定された、リクエストされたリソースが変更されたかどうかを確認します。 |
MultiValueMap<StringSE, CookieEE> | cookies() このリクエストの Cookie を取得します。 |
static ServerRequest | create(HttpServletRequestEE servletRequest, ListSE<HttpMessageConverter<?>> messageReaders) 指定された HttpServletRequest およびメッセージコンバーターに基づいて新しい ServerRequest を作成します。 |
static ServerRequest.Builder | from(ServerRequest other) 指定されたリクエストのステータス、ヘッダー、Cookie を使用してビルダーを作成します。 |
ServerRequest.Headers | headers() このリクエストのヘッダーを取得します。 |
ListSE<HttpMessageConverter<?>> | messageConverters() このリクエストの本文の変換に使用されるリーダーを取得します。 |
default HttpMethod | method()HTTP メソッドを取得します。 |
StringSE | methodName()HTTP メソッドの名前を取得します。 |
MultiValueMap<StringSE, PartEE> | multipartData()Content-Type が "multipart/form-data" である場合、またはそれ以外の場合は例外である場合は、マルチパートリクエストの一部を取得します。 |
default OptionalSE<StringSE> | param(StringSE name) 存在する場合、指定された名前の最初のパラメーターを取得します。 |
MultiValueMap<StringSE, StringSE> | params() このリクエストのすべてのパラメーターを取得します。 |
default StringSE | path() リクエストパスを取得します。 |
default PathContainer | pathContainer() 使用すべきではありません。 5.3 の時点で、 requestPath() を推奨 |
default StringSE | pathVariable(StringSE name) 指定された名前のパス変数があれば、それを取得します。 |
MapSE<StringSE, StringSE> | pathVariables() このリクエストのすべてのパス変数を取得します。 |
OptionalSE<PrincipalSE> | principal() リクエストに対して認証されたユーザーを取得します(存在する場合)。 |
OptionalSE<InetSocketAddressSE> | remoteAddress() 可能な場合、このリクエストが接続されているリモートアドレスを取得します。 |
default RequestPath | requestPath() リクエストパスを PathContainer として取得します。 |
HttpServletRequestEE | servletRequest() このリクエストが基づくサーブレットリクエストを取得します。 |
HttpSessionEE | session() このリクエストの Web セッションを取得します。 |
URISE | uri() リクエスト URI を取得します。 |
UriBuilder | uriBuilder() この ServerRequest に関連付けられた URI から UriBuilderComponents を取得します。 |
@Nullable default HttpMethod method()
null (たとえば非標準の HTTP メソッドの場合)StringSE methodName()
URISE uri()
UriBuilder uriBuilder()
ServerRequest に関連付けられた URI から UriBuilderComponents を取得します。default StringSE path()
@DeprecatedSE default PathContainer pathContainer()
requestPath() では推奨 。PathContainer として取得します。default RequestPath requestPath()
PathContainer として取得します。ServerRequest.Headers headers()
MultiValueMap<StringSE,CookieEE> cookies()
OptionalSE<InetSocketAddressSE> remoteAddress()
ListSE<HttpMessageConverter<?>> messageConverters()
<T> T body(ClassSE<T> bodyType) throws ServletExceptionEE, IOExceptionSE
T - ボディ型 bodyType - 戻り値の型 ServletExceptionEEIOExceptionSE<T> T body(ParameterizedTypeReference<T> bodyType) throws ServletExceptionEE, IOExceptionSE
T - ボディ型 bodyType - 戻り値の型 ServletExceptionEEIOExceptionSEdefault OptionalSE<ObjectSE> attribute(StringSE name)
name - 属性名 default OptionalSE<StringSE> param(StringSE name)
name - パラメーター名 ServletRequest.getParameter(String)EEMultiValueMap<StringSE,StringSE> params()
MultiValueMap<StringSE,PartEE> multipartData() throws IOExceptionSE, ServletExceptionEE
"multipart/form-data" である場合、またはそれ以外の場合は例外である場合は、マルチパートリクエストの一部を取得します。IOExceptionSE - 検索中に I/O エラーが発生した場合 ServletExceptionEE - このリクエストが型 "multipart/form-data" でない場合 HttpServletRequest.getParts()EEdefault StringSE pathVariable(StringSE name)
name - 変数名 IllegalArgumentExceptionSE - 指定された名前のパス変数がない場合 HttpSessionEE session()
OptionalSE<PrincipalSE> principal()
HttpServletRequestEE servletRequest()
default OptionalSE<ServerResponse> checkNotModified(InstantSE lastModified)
典型的な使用箇所:
public ServerResponse myHandleMethod(ServerRequest request) {
Instant lastModified = // application-specific calculation
return request.checkNotModified(lastModified)
.orElseGet(() -> {
// further request processing, actually building content
return ServerResponse.ok().body(...);
});
}このメソッドは、条件付きの GET/HEAD リクエストで機能しますが、条件付きの POST/PUT/DELETE リクエストでも機能します。
注意 : この #checkNotModified(Instant) メソッドのいずれかを使用できます。または checkNotModified(String)。HTTP 仕様で推奨されているように、強力なエンティティタグと Last-Modified 値の両方を適用する場合は、checkNotModified(Instant, String) を使用する必要があります。
lastModified - アプリケーションが基礎となるリソースについて決定した最終変更のタイムスタンプ default OptionalSE<ServerResponse> checkNotModified(StringSE etag)
ETag (エンティティタグ)を指定して、リクエストされたリソースが変更されているかどうかを確認します。変更されていない場合、このメソッドは対応するステータスコードとヘッダーを含むレスポンスを返し、それ以外の場合は空の結果を返します。典型的な使用箇所:
public ServerResponse myHandleMethod(ServerRequest request) {
String eTag = // application-specific calculation
return request.checkNotModified(eTag)
.orElseGet(() -> {
// further request processing, actually building content
return ServerResponse.ok().body(...);
});
}このメソッドは、条件付きの GET/HEAD リクエストで機能しますが、条件付きの POST/PUT/DELETE リクエストでも機能します。
注意 : この checkNotModified(Instant) メソッドのいずれかを使用できます。または #checkNotModified(String)。HTTP 仕様で推奨されているように、強力なエンティティタグと Last-Modified 値の両方を適用する場合は、checkNotModified(Instant, String) を使用する必要があります。
etag - アプリケーションが基になるリソースに対して決定したエンティティタグ。このパラメーターには、必要に応じて引用符(")が埋め込まれます。default OptionalSE<ServerResponse> checkNotModified(InstantSE lastModified, StringSE etag)
ETag (エンティティタグ)と最終変更のタイムスタンプがアプリケーションによって決定された場合、リクエストされたリソースが変更されているかどうかを確認します。変更されていない場合、このメソッドは対応するステータスコードとヘッダーを含むレスポンスを返し、それ以外の場合は空の結果を返します。典型的な使用箇所:
public ServerResponse myHandleMethod(ServerRequest request) {
Instant lastModified = // application-specific calculation
String eTag = // application-specific calculation
return request.checkNotModified(lastModified, eTag)
.orElseGet(() -> {
// further request processing, actually building content
return ServerResponse.ok().body(...);
});
}このメソッドは、条件付きの GET/HEAD リクエストで機能しますが、条件付きの POST/PUT/DELETE リクエストでも機能します。
lastModified - アプリケーションが基礎となるリソースについて決定した最終変更のタイムスタンプ etag - アプリケーションが基になるリソースに対して決定したエンティティタグ。このパラメーターには、必要に応じて引用符(")が埋め込まれます。static ServerRequest create(HttpServletRequestEE servletRequest, ListSE<HttpMessageConverter<?>> messageReaders)
HttpServletRequest およびメッセージコンバーターに基づいて新しい ServerRequest を作成します。servletRequest - リクエスト messageReaders - メッセージリーダー ServerRequeststatic ServerRequest.Builder from(ServerRequest other)
other - ステータス、ヘッダー、Cookie をコピーするレスポンス