クラス HttpRequestHandlingEndpointSupport

実装されたすべてのインターフェース:
AwareBeanFactoryAwareBeanNameAwareDisposableBeanInitializingBeanApplicationContextAwareLifecyclePhasedSmartLifecycleExpressionCapableOrderlyShutdownCapableIntegrationPatternNamedComponentIntegrationInboundManagementIntegrationManagementManageableLifecycleManageableSmartLifecycleTrackableComponent
既知の直属サブクラス
HttpRequestHandlingControllerHttpRequestHandlingMessagingGateway

public abstract class HttpRequestHandlingEndpointSupport extends BaseHttpInboundEndpoint
HTTP リクエスト処理エンドポイントの基本クラス。

デフォルトでは、GET および POST リクエストは、提供されているデフォルトの RequestMapping インスタンスを介して受け入れられます。GET リクエストは "parameterMap" を含むペイロードを生成しますが、POST リクエストは登録された HttpMessageConverter に従ってメッセージペイロードに変換されます。いくつかはデフォルトで登録されていますが、リストは setMessageConverters(List) を介して明示的に設定できます。

リクエストヘッダーから MessageHeaders へのマッピングをカスタマイズするには、BaseHttpInboundEndpoint.setHeaderMapper(org.springframework.integration.mapping.HeaderMapper) メソッドへの org.springframework.integration.mapping.HeaderMapper<HttpHeaders> 実装への参照を提供します。

動作はデフォルトで「リクエスト / レスポンス」です。sendAndReceive ではなく送信のみを強制するには、false をコンストラクターに渡します。送信のみは、メッセージが作成されて request channel に渡されるとすぐに、レスポンスが生成されることを意味します。サブクラスは、そのレスポンスの生成方法を決定します(たとえば、単純なステータスレスポンスまたはビューのレンダリング)。

リクエスト / レスポンスシナリオでは、デフォルトでは、レスポンスメッセージのペイロードがレスポンスの生成前に抽出されます。直列化されたメッセージ全体をレスポンスに使用できるようにするには、extractReplyPayload 値を false に切り替えます。

導入:
2.0
作成者:
Mark Fisher, Oleg Zhurakousky, Gary Russell, Artem Bilan, Biju Kunjummen, Trung Pham
  • コンストラクターの詳細

  • メソッドの詳細

    • setMessageConverters

      public void setMessageConverters(ListSE<HttpMessageConverter<?>> messageConverters)
      使用するメッセージ本文コンバーターを設定します。これらのコンバーターは、HTTP リクエストおよび HTTP リクエストとレスポンスの変換に使用されます。
      パラメーター:
      messageConverters - メッセージコンバーター。
    • getMessageConverters

      protected ListSE<HttpMessageConverter<?>> getMessageConverters()
    • setMergeWithDefaultConverters

      public void setMergeWithDefaultConverters(boolean mergeWithDefaultConverters)
      カスタムコンバーターの後にデフォルトコンバーターを使用できるかどうかを決定するフラグ。
      パラメーター:
      mergeWithDefaultConverters - マージする場合は true、置き換える場合は false。
    • setMultipartResolver

      public void setMultipartResolver(MultipartResolver multipartResolver)
      リクエストのチェックに使用する MultipartResolver を指定します。リゾルバーが提供されない場合、コンテキスト内の "multipartResolver" Bean がフォールバックとして使用されます。それも使用できない場合、このエンドポイントはマルチパートリクエストをサポートしません。
      パラメーター:
      multipartResolver - マルチパートリゾルバー。
    • onInit

      protected void onInit()
      可能な場合は、DispatcherServlet.MULTIPART_RESOLVER_BEAN_NAME 定数で定義されたデフォルト名に基づいて MultipartResolver Bean を見つけます。コンバーターが設定されていない場合、またはコンバーターが設定された後に setMergeWithDefaultConverters(boolean) が true で呼び出された場合、デフォルトのコンバーターをセットアップします。
      オーバーライド:
      クラス BaseHttpInboundEndpointonInit 
    • doHandleRequest

      protected final Message<?> doHandleRequest(HttpServletRequestEE servletRequest, RequestEntity<?> httpEntity)
      メッセージを生成してリクエストチャネルに送信することにより、HTTP リクエストを処理します。このゲートウェイの 'expectReply' プロパティが true の場合、受信した返信メッセージからレスポンスも生成されます。
      パラメーター:
      servletRequest - サーブレットのリクエスト。
      httpEntity - 使用するリクエストエンティティ。
      戻り値:
      レスポンスメッセージ。
    • setupResponseAndConvertReply

      protected final ObjectSE setupResponseAndConvertReply(ServletServerHttpResponse response, Message<?> replyMessage)
      応答メッセージを適切な HTTP 応答オブジェクトに変換し、ServletServerHttpResponse を設定します。
      パラメーター:
      response - ServletServerHttpResponse。
      replyMessage - 返信メッセージ。
      戻り値:
      メッセージペイロード(extractReplyPayload の場合)、それ以外の場合はメッセージ。
    • setStatusCodeIfNeeded

      protected void setStatusCodeIfNeeded(ServerHttpResponse response, HttpEntity<?> httpEntity)
    • prepareRequest

      protected ServletServerHttpRequest prepareRequest(HttpServletRequestEE servletRequest)
      未加工の HttpServletRequestEE から ServletServerHttpRequest のインスタンスを準備します。また、リクエストをマルチパートリクエストに変換して、必要に応じてマルチパートを利用できるようにします。マルチパートリゾルバーが設定されていない場合は、単に既存のリクエストを返します。
      パラメーター:
      servletRequest - 現在の HTTP リクエスト
      戻り値:
      処理されたリクエスト (必要に応じてマルチパートラッパー)
      関連事項:
    • prepareRequestEntity

      protected RequestEntity<ObjectSE> prepareRequestEntity(ServletServerHttpRequest request) throws IOExceptionSE
      例外:
      IOExceptionSE
    • extractRequestBody

      protected ObjectSE extractRequestBody(ServletServerHttpRequest request) throws IOExceptionSE
      例外:
      IOExceptionSE