|
Spring Integration | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.integration.context.IntegrationObjectSupport org.springframework.integration.endpoint.AbstractEndpoint org.springframework.integration.gateway.AbstractMessagingGateway org.springframework.integration.http.HttpRequestHandlingMessagingGateway
public class HttpRequestHandlingMessagingGateway
Inbound Messaging Gateway that handles HTTP Requests. May be configured as a bean in the
Application Context and delegated to from a simple HttpRequestHandlerServlet in
web.xml
where the servlet and bean both have the same name. If the
expectReply
property is set to true, a response can generated from a
reply Message. Otherwise, the gateway will play the role of a unidirectional
Channel Adapter with a simple status-based response (e.g. 200 OK).
supportedMethods
property. The payload generated from
a GET request (or HEAD or OPTIONS if supported) will be a MultiValueMap
containing the parameter values. For a request containing a body (e.g. a POST),
the type of the payload is determined by the request payload type
.
If the HTTP request is a multipart and a "multipartResolver" bean has been defined
in the context, then it will be converted by the MultipartAwareFormHttpMessageConverter
as long as the default message converters have not been overwritten (although
providing a customized instance of the Multipart-aware converter is also an option).
By default a number of HttpMessageConverter
s are already configured. The list
can be overridden by calling the setMessageConverters(List)
method.
Field Summary |
---|
Fields inherited from class org.springframework.integration.context.IntegrationObjectSupport |
---|
logger |
Constructor Summary | |
---|---|
HttpRequestHandlingMessagingGateway()
|
|
HttpRequestHandlingMessagingGateway(boolean expectReply)
|
Method Summary | |
---|---|
protected Object |
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. |
String |
getComponentType()
Subclasses may implement this method to provide component type information. |
protected List<HttpMessageConverter<?>> |
getMessageConverters()
|
void |
handleRequest(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 |
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 |
setHeaderMapper(HeaderMapper<HttpHeaders> headerMapper)
Set the HeaderMapper to use when mapping between HTTP headers and MessageHeaders. |
void |
setMessageConverters(List<HttpMessageConverter<?>> messageConverters)
Set the message body converters to use. |
void |
setMultipartResolver(MultipartResolver multipartResolver)
Specify the MultipartResolver to use when checking requests. |
void |
setRequestPayloadType(Class<?> requestPayloadType)
Specify the type of payload to be generated when the inbound HTTP request content is read by the HttpMessageConverter s. |
void |
setSupportedMethodNames(String... supportedMethods)
Specify the supported request method names for this gateway. |
void |
setSupportedMethods(HttpMethod... supportedMethods)
Specify the supported request methods for this gateway. |
Methods inherited from class org.springframework.integration.gateway.AbstractMessagingGateway |
---|
doStart, doStop, fromMessage, receive, send, sendAndReceive, sendAndReceiveMessage, setExceptionMapper, setReplyChannel, setReplyTimeout, setRequestChannel, setRequestTimeout, setShouldThrowErrors, toMessage |
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, getChannelResolver, getComponentName, getConversionService, getTaskScheduler, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, toString, writeMessageHistory |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public HttpRequestHandlingMessagingGateway()
public HttpRequestHandlingMessagingGateway(boolean expectReply)
Method Detail |
---|
public final void handleRequest(javax.servlet.http.HttpServletRequest servletRequest, javax.servlet.http.HttpServletResponse servletResponse) throws javax.servlet.ServletException, IOException
HttpMessageConverter
s.
handleRequest
in interface HttpRequestHandler
javax.servlet.ServletException
IOException
public void setMessageConverters(List<HttpMessageConverter<?>> messageConverters)
protected List<HttpMessageConverter<?>> getMessageConverters()
public void setHeaderMapper(HeaderMapper<HttpHeaders> headerMapper)
HeaderMapper
to use when mapping between HTTP headers and MessageHeaders.
public void setSupportedMethodNames(String... supportedMethods)
public void setSupportedMethods(HttpMethod... supportedMethods)
public void setRequestPayloadType(Class<?> requestPayloadType)
HttpMessageConverter
s. 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(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.
public String getComponentType()
IntegrationObjectSupport
getComponentType
in interface NamedComponent
getComponentType
in class AbstractMessagingGateway
protected void onInit() throws Exception
MultipartResolver
bean based on the default name defined by
the DispatcherServlet.MULTIPART_RESOLVER_BEAN_NAME
constant if available.
onInit
in class AbstractMessagingGateway
Exception
protected final Object doHandleRequest(javax.servlet.http.HttpServletRequest servletRequest, javax.servlet.http.HttpServletResponse servletResponse) throws IOException
IOException
|
Spring Integration | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |