インターフェース ServerRequest


public interface ServerRequest
HandlerFunction で処理されるサーバー側の HTTP リクエストを表します。ヘッダーと本文へのアクセスは、それぞれ ServerRequest.Headersbody(Class) によって提供されます。
導入:
5.2
作成者:
Arjen Poutsma
  • メソッドの詳細

    • method

      HttpMethod method()
      HTTP メソッドを取得します。
      戻り値:
      HttpMethod 列挙値としての HTTP メソッド、または解決できない場合は null (たとえば非標準の HTTP メソッドの場合)
    • methodName

      @DeprecatedSE StringSE methodName()
      使用すべきではありません。
      method() を推奨
      HTTP メソッドの名前を取得します。
      戻り値:
      文字列としての HTTP メソッド
    • uri

      URISE uri()
      リクエスト URI を取得します。
    • uriBuilder

      UriBuilder uriBuilder()
      この ServerRequest に関連付けられた URI から UriBuilderComponents を取得します。
      戻り値:
      URI ビルダー
    • path

      default StringSE path()
      リクエストパスを取得します。
    • pathContainer

      @DeprecatedSE default PathContainer pathContainer()
      使用すべきではありません。
      5.3 の時点で、requestPath() を推奨
      リクエストパスを PathContainer として取得します。
    • requestPath

      default RequestPath requestPath()
      リクエストパスを PathContainer として取得します。
      導入:
      5.3
    • headers

      このリクエストのヘッダーを取得します。
    • cookies

      このリクエストの Cookie を取得します。
    • remoteAddress

      可能な場合、このリクエストが接続されているリモートアドレスを取得します。
    • messageConverters

      ListSE<HttpMessageConverter<?>> messageConverters()
      このリクエストの本文の変換に使用されるリーダーを取得します。
    • body

      <T> T body(ClassSE<T> bodyType) throws ServletExceptionEE, IOExceptionSE
      ボディを指定された型のオブジェクトとして抽出します。
      型パラメーター:
      T - ボディ型
      パラメーター:
      bodyType - 戻り値の型
      戻り値:
      例外:
      ServletExceptionEE
      IOExceptionSE
    • body

      ボディを指定された型のオブジェクトとして抽出します。
      型パラメーター:
      T - ボディ型
      パラメーター:
      bodyType - 戻り値の型
      戻り値:
      例外:
      ServletExceptionEE
      IOExceptionSE
    • bind

      default <T> T bind(ClassSE<T> bindType) throws BindException
      このリクエストにバインドして、指定された型のインスタンスを返します。
      型パラメーター:
      T - バインドする型
      パラメーター:
      bindType - このリクエストをバインドするクラスの型
      戻り値:
      bindType の構築されバインドされたインスタンス
      例外:
      BindException - バインディングエラーの場合
      導入:
      6.1
    • bind

      <T> T bind(ClassSE<T> bindType, ConsumerSE<WebDataBinder> dataBinderCustomizer) throws BindException
      このリクエストにバインドして、指定された型のインスタンスを返します。
      型パラメーター:
      T - バインドする型
      パラメーター:
      bindType - このリクエストをバインドするクラスの型
      dataBinderCustomizer - データバインダーをカスタマイズするために使用されます。例: 許可された(禁止された)フィールドを設定する
      戻り値:
      bindType の構築されバインドされたインスタンス
      例外:
      BindException - バインディングエラーの場合
      導入:
      6.1
    • attribute

      default OptionalSE<ObjectSE> attribute(StringSE name)
      リクエスト属性値が存在する場合は取得します。
      パラメーター:
      name - 属性名
      戻り値:
      属性値
    • attributes

      MapSE<StringSE,ObjectSE> attributes()
      リクエスト属性の可変マップを取得します。
      戻り値:
      リクエスト属性
    • param

      default OptionalSE<StringSE> param(StringSE name)
      存在する場合、指定された名前の最初のパラメーターを取得します。サーブレットパラメーターは、クエリ文字列または投稿されたフォームデータに含まれます。
      パラメーター:
      name - パラメーター名
      戻り値:
      パラメーター値
      関連事項:
    • params

      このリクエストのすべてのパラメーターを取得します。サーブレットパラメーターは、クエリ文字列または投稿されたフォームデータに含まれます。
      関連事項:
    • multipartData

      Content-Type が "multipart/form-data" である場合、またはそれ以外の場合は例外である場合は、マルチパートリクエストの一部を取得します。
      戻り値:
      マルチパートデータ、名前からパーツへのマッピング
      例外:
      IOExceptionSE - 検索中に I/O エラーが発生した場合
      ServletExceptionEE - このリクエストが型 "multipart/form-data" でない場合
      導入:
      5.3
      関連事項:
    • pathVariable

      default StringSE pathVariable(StringSE name)
      指定された名前のパス変数があれば、それを取得します。
      パラメーター:
      name - 変数名
      戻り値:
      変数値
      例外:
      IllegalArgumentExceptionSE - 指定された名前のパス変数がない場合
    • pathVariables

      MapSE<StringSE,StringSE> pathVariables()
      このリクエストのすべてのパス変数を取得します。
    • session

      HttpSessionEE session()
      このリクエストの Web セッションを取得します。クライアントからリクエストされたセッション ID に一致するインスタンス、またはクライアントがインスタンスを指定しなかったため、または基になるセッションが期限切れになったために新しいセッション ID でインスタンスを返すことが常に保証されています。このメソッドを使用しても、セッションは自動的には作成されません。
    • principal

      OptionalSE<PrincipalSE> principal()
      リクエストに対して認証されたユーザーを取得します(存在する場合)。
    • servletRequest

      HttpServletRequestEE servletRequest()
      このリクエストが基づくサーブレットリクエストを取得します。
    • checkNotModified

      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 - アプリケーションが基礎となるリソースについて決定した最終変更のタイムスタンプ
      戻り値:
      リクエストが変更されていない場合は対応するレスポンス、それ以外の場合は空の結果。
      導入:
      5.2.5
    • checkNotModified

      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 - アプリケーションが基になるリソースに対して決定したエンティティタグ。このパラメーターには、必要に応じて引用符(")が埋め込まれます。
      戻り値:
      リクエストが変更されていない場合は対応するレスポンス、それ以外の場合は空の結果。
      導入:
      5.2.5
    • checkNotModified

      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 - アプリケーションが基になるリソースに対して決定したエンティティタグ。このパラメーターには、必要に応じて引用符(")が埋め込まれます。
      戻り値:
      リクエストが変更されていない場合は対応するレスポンス、それ以外の場合は空の結果。
      導入:
      5.2.5
    • create

      static ServerRequest create(HttpServletRequestEE servletRequest, ListSE<HttpMessageConverter<?>> messageReaders)
      指定された HttpServletRequest およびメッセージコンバーターに基づいて新しい ServerRequest を作成します。
      パラメーター:
      servletRequest - リクエスト
      messageReaders - メッセージリーダー
      戻り値:
      作成された ServerRequest
    • from

      static ServerRequest.Builder from(ServerRequest other)
      指定されたリクエストのステータス、ヘッダー、Cookie を使用してビルダーを作成します。
      パラメーター:
      other - ステータス、ヘッダー、Cookie をコピーするレスポンス
      戻り値:
      作成されたビルダー