|
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.MessagingGatewaySupport org.springframework.integration.http.inbound.HttpRequestHandlingController
public class HttpRequestHandlingController
Inbound HTTP endpoint that implements Spring's Controller
interface to be used with a DispatcherServlet front
controller.
viewName
will be passed into the ModelAndView return value.
This endpoint will have request/reply behavior by default. That can be overridden by passing false
to
the constructor. In the request/reply case, the core map will be passed to the view, and it will contain either the
reply Message or payload depending on the value of extractReplyPayload
(true by default, meaning just the
payload). The corresponding key in the map is determined by the replyKey
property (with a default of
"reply").
Field Summary |
---|
Fields inherited from class org.springframework.integration.context.IntegrationObjectSupport |
---|
logger |
Constructor Summary | |
---|---|
HttpRequestHandlingController()
|
|
HttpRequestHandlingController(boolean expectReply)
|
Method Summary | |
---|---|
protected java.lang.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. |
java.lang.String |
getComponentType()
Subclasses may implement this method to provide component type information. |
protected java.util.List<org.springframework.http.converter.HttpMessageConverter<?>> |
getMessageConverters()
|
org.springframework.web.servlet.ModelAndView |
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 boolean |
isExpectReply()
|
protected void |
onInit()
Locates the MultipartResolver bean based on the default name defined by the
DispatcherServlet.MULTIPART_RESOLVER_BEAN_NAME constant if available. |
void |
setErrorCode(java.lang.String errorCode)
The error code to use to signal an error in the message handling. |
void |
setErrorsKey(java.lang.String errorsKey)
The key used to expose Errors in the core, in the case that message handling fails. |
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(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 |
setReplyKey(java.lang.String replyKey)
Specify the key to be used when adding the reply Message or payload to the core map (will be payload only unless the value of HttpRequestHandlingEndpointSupport.setExtractReplyPayload(boolean) is false ). |
void |
setRequestPayloadType(java.lang.Class<?> requestPayloadType)
Specify the type of payload to be generated when the inbound HTTP request content is read by the HttpMessageConverter s. |
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. |
void |
setViewName(java.lang.String viewName)
Specify the view name. |
Methods inherited from class org.springframework.integration.gateway.MessagingGatewaySupport |
---|
doStart, 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 HttpRequestHandlingController()
public HttpRequestHandlingController(boolean expectReply)
Method Detail |
---|
public void setViewName(java.lang.String viewName)
public void setReplyKey(java.lang.String replyKey)
HttpRequestHandlingEndpointSupport.setExtractReplyPayload(boolean)
is false
). The
default key is "reply".
public void setErrorsKey(java.lang.String errorsKey)
Errors
in the core, in the case that message handling fails. Defaults to
"errors".
errorsKey
- the key value to setpublic void setErrorCode(java.lang.String errorCode)
MessageSource
.
The default value is spring.integration.http.handler.error
. Three arguments are provided: the
exception, its message and its stack trace as a String.
errorCode
- the error code to setpublic final org.springframework.web.servlet.ModelAndView handleRequest(javax.servlet.http.HttpServletRequest servletRequest, javax.servlet.http.HttpServletResponse servletResponse) throws java.lang.Exception
handleRequest
in interface org.springframework.web.servlet.mvc.Controller
java.lang.Exception
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(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)
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(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.
public java.lang.String getComponentType()
IntegrationObjectSupport
getComponentType
in interface NamedComponent
getComponentType
in class 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 MessagingGatewaySupport
java.lang.Exception
protected final java.lang.Object doHandleRequest(javax.servlet.http.HttpServletRequest servletRequest, javax.servlet.http.HttpServletResponse servletResponse) throws java.io.IOException
java.io.IOException
|
Spring Integration | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |