クラス HttpRequestHandlingEndpointSupport
- 実装されたすべてのインターフェース:
Aware
、BeanFactoryAware
、BeanNameAware
、DisposableBean
、InitializingBean
、ApplicationContextAware
、Lifecycle
、Phased
、SmartLifecycle
、ExpressionCapable
、OrderlyShutdownCapable
、IntegrationPattern
、NamedComponent
、IntegrationInboundManagement
、IntegrationManagement
、ManageableLifecycle
、ManageableSmartLifecycle
、TrackableComponent
デフォルトでは、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
ネストされたクラスのサマリー
クラス org.springframework.integration.gateway.MessagingGatewaySupport から継承されたネストクラス / インターフェース
MessagingGatewaySupport.ConvertingMessagingTemplate
インターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたネストクラス / インターフェース
IntegrationManagement.ManagementOverrides
フィールドサマリー
クラス org.springframework.integration.http.inbound.BaseHttpInboundEndpoint から継承されたフィールド
activeCount, JAXB_PRESENT, NON_READABLE_BODY_HTTP_METHODS, ROME_TOOLS_PRESENT
クラス org.springframework.integration.gateway.MessagingGatewaySupport から継承されたフィールド
messagingTemplate
クラス org.springframework.integration.endpoint.AbstractEndpoint から継承されたフィールド
lifecycleCondition, lifecycleLock
クラス org.springframework.integration.context.IntegrationObjectSupport から継承されたフィールド
EXPRESSION_PARSER, logger
インターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたフィールド
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME
インターフェース org.springframework.context.SmartLifecycle から継承されたフィールド
DEFAULT_PHASE
コンストラクターのサマリー
コンストラクター説明replyTimeout
の応答を待つゲートウェイを構築します。タイムアウトを超えると、「500 内部サーバーエラー」ステータスコードが返されます。HttpRequestHandlingEndpointSupport
(boolean expectReply) ゲートウェイを構築します。メソッドのサマリー
修飾子と型メソッド説明protected final Message<?>
doHandleRequest
(HttpServletRequestEE servletRequest, RequestEntity<?> httpEntity) メッセージを生成してリクエストチャネルに送信することにより、HTTP リクエストを処理します。protected ObjectSE
protected ListSE<HttpMessageConverter<?>>
protected void
onInit()
可能な場合は、DispatcherServlet.MULTIPART_RESOLVER_BEAN_NAME
定数で定義されたデフォルト名に基づいてMultipartResolver
Bean を見つけます。protected ServletServerHttpRequest
prepareRequest
(HttpServletRequestEE servletRequest) 未加工のHttpServletRequest
EE からServletServerHttpRequest
のインスタンスを準備します。protected RequestEntity<ObjectSE>
void
setMergeWithDefaultConverters
(boolean mergeWithDefaultConverters) カスタムコンバーターの後にデフォルトコンバーターを使用できるかどうかを決定するフラグ。void
setMessageConverters
(ListSE<HttpMessageConverter<?>> messageConverters) 使用するメッセージ本文コンバーターを設定します。void
setMultipartResolver
(MultipartResolver multipartResolver) リクエストのチェックに使用するMultipartResolver
を指定します。protected void
setStatusCodeIfNeeded
(ServerHttpResponse response, HttpEntity<?> httpEntity) protected final ObjectSE
setupResponseAndConvertReply
(ServletServerHttpResponse response, Message<?> replyMessage) 応答メッセージを適切な HTTP 応答オブジェクトに変換し、ServletServerHttpResponse
を設定します。クラス org.springframework.integration.http.inbound.BaseHttpInboundEndpoint から継承されたメソッド
afterShutdown, beforeShutdown, createEvaluationContext, evaluateHttpStatus, getComponentType, getCrossOrigin, getExtractReplyPayload, getHeaderExpressions, getHeaderMapper, getIntegrationPatternType, getPayloadExpression, getRequestMapping, getRequestPayloadType, getStatusCodeExpression, getValidator, isExpectReply, isReadable, resolveHttpStatusFromHeaders, setCrossOrigin, setExtractReplyPayload, setHeaderExpressions, setHeaderMapper, setPayloadExpression, setRequestMapping, setRequestPayloadType, setRequestPayloadTypeClass, setStatusCodeExpression, setStatusCodeExpressionString, setValidator, validate
クラス org.springframework.integration.gateway.MessagingGatewaySupport から継承されたメソッド
buildErrorMessage, buildSendTimer, destroy, doStart, doStop, getErrorChannel, getErrorMessageAttributes, getErrorMessageStrategy, getManagedName, getManagedType, getOverrides, getReplyChannel, getRequestChannel, isLoggingEnabled, isObserved, receive, receive, receiveMessage, receiveMessage, registerMetricsCaptor, registerObservationRegistry, registerReplyMessageCorrelatorIfNecessary, send, sendAndReceive, sendAndReceiveMessage, sendAndReceiveMessageReactive, sendTimer, setErrorChannel, setErrorChannelName, setErrorMessageStrategy, setErrorOnTimeout, setLoggingEnabled, setManagedName, setManagedType, setObservationConvention, setReceiverObservationConvention, setReplyChannel, setReplyChannelName, setReplyMapper, setReplyTimeout, setRequestChannel, setRequestChannelName, setRequestMapper, setRequestTimeout, setShouldTrack
クラス org.springframework.integration.endpoint.AbstractEndpoint から継承されたメソッド
doStop, getPhase, getRole, isActive, isAutoStartup, isRunning, setAutoStartup, setPhase, setRole, start, stop, stop
クラス org.springframework.integration.context.IntegrationObjectSupport から継承されたメソッド
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, wait, waitSE, waitSE
インターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたメソッド
getThisAs
インターフェース org.springframework.integration.support.context.NamedComponent から継承されたメソッド
getBeanName, getComponentName
コンストラクターの詳細
HttpRequestHandlingEndpointSupport
public HttpRequestHandlingEndpointSupport()replyTimeout
の応答を待つゲートウェイを構築します。タイムアウトを超えると、「500 内部サーバーエラー」ステータスコードが返されます。これはstatusCodeExpression
を使用して変更できます。HttpRequestHandlingEndpointSupport
public HttpRequestHandlingEndpointSupport(boolean expectReply) ゲートウェイを構築します。'expectReply' が true の場合、replyTimeout
の応答を待ちます。タイムアウトを超えると、「500 内部サーバーエラー」ステータスコードが返されます。これはstatusCodeExpression
を使用して変更できます。"false" の場合、200 OK ステータスが返されます。これはstatusCodeExpression
を使用して変更することもできます。- パラメーター:
expectReply
- ダウンストリームフローからの応答が予期される場合は true。- 関連事項:
メソッドの詳細
setMessageConverters
使用するメッセージ本文コンバーターを設定します。これらのコンバーターは、HTTP リクエストおよび HTTP リクエストとレスポンスの変換に使用されます。- パラメーター:
messageConverters
- メッセージコンバーター。
getMessageConverters
setMergeWithDefaultConverters
public void setMergeWithDefaultConverters(boolean mergeWithDefaultConverters) カスタムコンバーターの後にデフォルトコンバーターを使用できるかどうかを決定するフラグ。- パラメーター:
mergeWithDefaultConverters
- マージする場合は true、置き換える場合は false。
setMultipartResolver
リクエストのチェックに使用するMultipartResolver
を指定します。リゾルバーが提供されない場合、コンテキスト内の "multipartResolver" Bean がフォールバックとして使用されます。それも使用できない場合、このエンドポイントはマルチパートリクエストをサポートしません。- パラメーター:
multipartResolver
- マルチパートリゾルバー。
onInit
protected void onInit()可能な場合は、DispatcherServlet.MULTIPART_RESOLVER_BEAN_NAME
定数で定義されたデフォルト名に基づいてMultipartResolver
Bean を見つけます。コンバーターが設定されていない場合、またはコンバーターが設定された後にsetMergeWithDefaultConverters(boolean)
が true で呼び出された場合、デフォルトのコンバーターをセットアップします。- オーバーライド:
- クラス
BaseHttpInboundEndpoint
のonInit
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
prepareRequest
未加工のHttpServletRequest
EE からServletServerHttpRequest
のインスタンスを準備します。また、リクエストをマルチパートリクエストに変換して、必要に応じてマルチパートを利用できるようにします。マルチパートリゾルバーが設定されていない場合は、単に既存のリクエストを返します。- パラメーター:
servletRequest
- 現在の HTTP リクエスト- 戻り値:
- 処理されたリクエスト (必要に応じてマルチパートラッパー)
- 関連事項:
prepareRequestEntity
protected RequestEntity<ObjectSE> prepareRequestEntity(ServletServerHttpRequest request) throws IOExceptionSE extractRequestBody