|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.endpoint.AbstractEndpoint
org.springframework.integration.gateway.MessagingGatewaySupport
org.springframework.integration.http.inbound.HttpRequestHandlingEndpointSupport
public abstract class HttpRequestHandlingEndpointSupport
Base class for HTTP request handling endpoints.
By default GET and POST requests are accepted, but the 'supportedMethods' property may be set to include others or limit the options (e.g. POST only). A GET request will generate a payload containing its 'parameterMap' while a POST request will be converted to a Message payload according to the registeredHttpMessageConverters. Several are
registered by default, but the list can be explicitly set via setMessageConverters(List).
To customize the mapping of request headers to the MessageHeaders, provide a reference to a HeaderMapper implementation to the setHeaderMapper(HeaderMapper) method.
The behavior is "request/reply" by default. Pass false to the constructor to force send-only as opposed
to sendAndReceive. Send-only means that as soon as the Message is created and passed to the
request channel, a response will be
generated. Subclasses determine how that response is generated (e.g. simple status response or rendering a View).
In a request-reply scenario, the reply Message's payload will be extracted prior to generating a response by default.
To have the entire serialized Message available for the response, switch the extractReplyPayload value to
false.
| Field Summary |
|---|
| Fields inherited from class org.springframework.integration.context.IntegrationObjectSupport |
|---|
logger |
| Constructor Summary | |
|---|---|
HttpRequestHandlingEndpointSupport()
|
|
HttpRequestHandlingEndpointSupport(boolean expectReply)
|
|
| Method Summary | |
|---|---|
int |
afterShutdown()
|
int |
beforeShutdown()
|
protected org.springframework.expression.spel.support.StandardEvaluationContext |
createEvaluationContext()
|
protected org.springframework.integration.Message<?> |
doHandleRequest(javax.servlet.http.HttpServletRequest servletRequest,
javax.servlet.http.HttpServletResponse servletResponse)
Handles the HTTP request by generating a Message and sending it to the request channel. |
protected void |
doStart()
|
java.lang.String |
getComponentType()
|
protected java.util.List<org.springframework.http.converter.HttpMessageConverter<?>> |
getMessageConverters()
|
protected boolean |
isExpectReply()
|
protected boolean |
isShuttingDown()
|
protected void |
onInit()
Locates the MultipartResolver bean based on the default name defined by the
DispatcherServlet.MULTIPART_RESOLVER_BEAN_NAME constant if available. |
void |
setExtractReplyPayload(boolean extractReplyPayload)
Specify whether only the reply Message's payload should be passed in the response. |
void |
setHeaderExpressions(java.util.Map<java.lang.String,org.springframework.expression.Expression> headerExpressions)
Specifies a Map of SpEL expressions to evaluate in order to generate the Message headers. |
void |
setHeaderMapper(org.springframework.integration.mapping.HeaderMapper<org.springframework.http.HttpHeaders> headerMapper)
Set the HeaderMapper to use when mapping between HTTP headers and MessageHeaders. |
void |
setMessageConverters(java.util.List<org.springframework.http.converter.HttpMessageConverter<?>> messageConverters)
Set the message body converters to use. |
void |
setMultipartResolver(org.springframework.web.multipart.MultipartResolver multipartResolver)
Specify the MultipartResolver to use when checking requests. |
void |
setPath(java.lang.String path)
Set the path template for which this endpoint expects requests. |
void |
setPayloadExpression(org.springframework.expression.Expression payloadExpression)
Specifies a SpEL expression to evaluate in order to generate the Message payload. |
void |
setRequestPayloadType(java.lang.Class<?> requestPayloadType)
Specify the type of payload to be generated when the inbound HTTP request content is read by the HttpMessageConverters. |
void |
setSupportedMethodNames(java.lang.String... supportedMethods)
Specify the supported request method names for this gateway. |
void |
setSupportedMethods(org.springframework.http.HttpMethod... supportedMethods)
Specify the supported request methods for this gateway. |
protected java.lang.Object |
setupResponseAndConvertReply(javax.servlet.http.HttpServletResponse servletResponse,
org.springframework.integration.Message<?> replyMessage)
Deprecated. As of release 2.2, please use setupResponseAndConvertReply(ServletServerHttpResponse, Message) instead. |
protected java.lang.Object |
setupResponseAndConvertReply(org.springframework.http.server.ServletServerHttpResponse response,
org.springframework.integration.Message<?> replyMessage)
Converts the reply message to the appropriate HTTP reply object and sets up the ServletServerHttpResponse. |
| Methods inherited from class org.springframework.integration.gateway.MessagingGatewaySupport |
|---|
doStop, receive, send, sendAndReceive, sendAndReceiveMessage, setErrorChannel, setReplyChannel, setReplyMapper, setReplyTimeout, setRequestChannel, setRequestMapper, setRequestTimeout, setShouldTrack |
| Methods inherited from class org.springframework.integration.endpoint.AbstractEndpoint |
|---|
getPhase, isAutoStartup, isRunning, setAutoStartup, setPhase, setTaskScheduler, start, stop, stop |
| Methods inherited from class org.springframework.integration.context.IntegrationObjectSupport |
|---|
afterPropertiesSet, getBeanFactory, getComponentName, getConversionService, getTaskScheduler, setBeanFactory, setBeanName, setComponentName, setConversionService, toString |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.springframework.integration.context.NamedComponent |
|---|
getComponentName |
| Constructor Detail |
|---|
public HttpRequestHandlingEndpointSupport()
public HttpRequestHandlingEndpointSupport(boolean expectReply)
| Method Detail |
|---|
protected boolean isExpectReply()
public void setPath(java.lang.String path)
public void setPayloadExpression(org.springframework.expression.Expression payloadExpression)
#pathVariables and
#queryParameters variables if present. Those variables' values are Maps.
public void setHeaderExpressions(java.util.Map<java.lang.String,org.springframework.expression.Expression> headerExpressions)
#pathVariables and
#queryParameters variables if present. Those variables' values are Maps.
public void setMessageConverters(java.util.List<org.springframework.http.converter.HttpMessageConverter<?>> messageConverters)
protected java.util.List<org.springframework.http.converter.HttpMessageConverter<?>> getMessageConverters()
public void setHeaderMapper(org.springframework.integration.mapping.HeaderMapper<org.springframework.http.HttpHeaders> headerMapper)
HeaderMapper to use when mapping between HTTP headers and MessageHeaders.
public void setSupportedMethodNames(java.lang.String... supportedMethods)
public void setSupportedMethods(org.springframework.http.HttpMethod... supportedMethods)
public void setRequestPayloadType(java.lang.Class<?> requestPayloadType)
HttpMessageConverters. By default this value is null which means at runtime any "text" Content-Type will
result in String while all others default to byte[].class.
public void setExtractReplyPayload(boolean extractReplyPayload)
public void setMultipartResolver(org.springframework.web.multipart.MultipartResolver multipartResolver)
MultipartResolver to use when checking requests. If no resolver is provided, the
"multipartResolver" bean in the context will be used as a fallback. If that is not available either, this
endpoint will not support multipart requests.
protected boolean isShuttingDown()
public java.lang.String getComponentType()
getComponentType in interface org.springframework.integration.context.NamedComponentgetComponentType in class org.springframework.integration.gateway.MessagingGatewaySupport
protected void onInit()
throws java.lang.Exception
MultipartResolver bean based on the default name defined by the
DispatcherServlet.MULTIPART_RESOLVER_BEAN_NAME constant if available.
onInit in class org.springframework.integration.gateway.MessagingGatewaySupportjava.lang.Exceptionprotected void doStart()
doStart in class org.springframework.integration.gateway.MessagingGatewaySupport
protected final org.springframework.integration.Message<?> doHandleRequest(javax.servlet.http.HttpServletRequest servletRequest,
javax.servlet.http.HttpServletResponse servletResponse)
throws java.io.IOException
java.io.IOException
protected final java.lang.Object setupResponseAndConvertReply(org.springframework.http.server.ServletServerHttpResponse response,
org.springframework.integration.Message<?> replyMessage)
ServletServerHttpResponse.
response - The ServletServerHttpResponse.replyMessage - The reply message.
extractReplyPayload) otherwise the
message.
@Deprecated
protected final java.lang.Object setupResponseAndConvertReply(javax.servlet.http.HttpServletResponse servletResponse,
org.springframework.integration.Message<?> replyMessage)
setupResponseAndConvertReply(ServletServerHttpResponse, Message) instead.
protected org.springframework.expression.spel.support.StandardEvaluationContext createEvaluationContext()
public int beforeShutdown()
beforeShutdown in interface org.springframework.integration.context.OrderlyShutdownCapablepublic int afterShutdown()
afterShutdown in interface org.springframework.integration.context.OrderlyShutdownCapable
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||