public abstract class HttpRequestHandlingEndpointSupport extends BaseHttpInboundEndpoint
デフォルトでは、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 に切り替えます。
IntegrationManagement.ManagementOverridesactiveCount, JAXB_PRESENT, NON_READABLE_BODY_HTTP_METHODS, ROME_TOOLS_PRESENTmessagingTemplatelifecycleCondition, lifecycleLockEXPRESSION_PARSER, loggerMETER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEDEFAULT_PHASE| コンストラクターと説明 |
|---|
HttpRequestHandlingEndpointSupport()replyTimeout の応答を待つゲートウェイを構築します。タイムアウトを超えると、「500 内部サーバーエラー」ステータスコードが返されます。 |
HttpRequestHandlingEndpointSupport(boolean expectReply) ゲートウェイを構築します。 |
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, validatebuildErrorMessage, buildSendTimer, destroy, doStart, doStop, getErrorChannel, getErrorMessageAttributes, getManagedName, getManagedType, getOverrides, getReplyChannel, getRequestChannel, isLoggingEnabled, receive, receive, receiveMessage, receiveMessage, registerMetricsCaptor, registerReplyMessageCorrelatorIfNecessary, send, sendAndReceive, sendAndReceiveMessage, sendAndReceiveMessageReactive, sendTimer, setErrorChannel, setErrorChannelName, setErrorMessageStrategy, setErrorOnTimeout, setLoggingEnabled, setManagedName, setManagedType, setReplyChannel, setReplyChannelName, setReplyMapper, setReplyTimeout, setRequestChannel, setRequestChannelName, setRequestMapper, setRequestTimeout, setShouldTrackdoStop, getPhase, getRole, isAutoStartup, isRunning, setAutoStartup, setPhase, setRole, start, stop, stopafterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringcloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSEgetThisAsgetBeanName, getComponentNamepublic HttpRequestHandlingEndpointSupport()
replyTimeout の応答を待つゲートウェイを構築します。タイムアウトを超えると、「500 内部サーバーエラー」ステータスコードが返されます。これは statusCodeExpression を使用して変更できます。public HttpRequestHandlingEndpointSupport(boolean expectReply)
replyTimeout で待機します。タイムアウトを超えると、'500 内部サーバーエラー ' ステータスコードが返されます。これは、statusCodeExpression を使用して変更できます。'false' の場合、200 OK ステータスが返されます。これも、statusCodeExpression を使用して変更できます。expectReply - ダウンストリームフローからの応答が予期される場合は true。MessagingGatewaySupport.setReplyTimeout(long), BaseHttpInboundEndpoint.setStatusCodeExpression(org.springframework.expression.Expression)public void setMessageConverters(ListSE<HttpMessageConverter<?>> messageConverters)
messageConverters - メッセージコンバーター。protected ListSE<HttpMessageConverter<?>> getMessageConverters()
public void setMergeWithDefaultConverters(boolean mergeWithDefaultConverters)
mergeWithDefaultConverters - マージする場合は true、置き換える場合は false。public void setMultipartResolver(MultipartResolver multipartResolver)
MultipartResolver を指定します。リゾルバーが指定されていない場合は、コンテキスト内の "multipartResolver" Bean がフォールバックとして使用されます。これも利用できない場合は、このエンドポイントはマルチパートリクエストをサポートしません。multipartResolver - マルチパートリゾルバー。protected void onInit()
DispatcherServlet.MULTIPART_RESOLVER_BEAN_NAME 定数で定義されたデフォルト名に基づいて MultipartResolver Bean を見つけます。コンバーターが設定されていない場合、またはコンバーターが設定された後に setMergeWithDefaultConverters(boolean) が true で呼び出された場合、デフォルトのコンバーターをセットアップします。BaseHttpInboundEndpoint の onInit protected final Message<?> doHandleRequest(HttpServletRequestSE servletRequest, RequestEntity<?> httpEntity)
servletRequest - サーブレットのリクエスト。httpEntity - 使用するリクエストエンティティ。protected final ObjectSE setupResponseAndConvertReply(ServletServerHttpResponse response, Message<?> replyMessage)
ServletServerHttpResponse を設定します。response - ServletServerHttpResponse。replyMessage - 返信メッセージ。extractReplyPayload の場合)、それ以外の場合はメッセージ。protected void setStatusCodeIfNeeded(ServerHttpResponse response, HttpEntity<?> httpEntity)
protected ServletServerHttpRequest prepareRequest(HttpServletRequestSE servletRequest)
HttpServletRequestSE から ServletServerHttpRequest のインスタンスを準備します。また、リクエストをマルチパートリクエストに変換して、必要に応じてマルチパートを利用できるようにします。マルチパートリゾルバーが設定されていない場合は、単に既存のリクエストを返します。servletRequest - 現在の HTTP リクエスト MultipartResolver.resolveMultipart(javax.servlet.http.HttpServletRequest)protected RequestEntity<ObjectSE> prepareRequestEntity(ServletServerHttpRequest request) throws IOExceptionSE
protected ObjectSE extractRequestBody(ServletServerHttpRequest request) throws IOExceptionSE