Class BaseHttpMessageHandlerSpec<S extends BaseHttpMessageHandlerSpec<S,E>,E extends AbstractHttpRequestExecutingMessageHandler>
java.lang.Object
org.springframework.beans.factory.config.AbstractFactoryBean<T>
org.springframework.integration.dsl.IntegrationComponentSpec<S,H>
org.springframework.integration.dsl.MessageHandlerSpec<S,E>
org.springframework.integration.http.dsl.BaseHttpMessageHandlerSpec<S,E>
- Type Parameters:
S
- the targetBaseHttpMessageHandlerSpec
implementation type.E
- the targetAbstractHttpRequestExecutingMessageHandler
implementation type.
- All Implemented Interfaces:
org.springframework.beans.factory.Aware
,org.springframework.beans.factory.BeanClassLoaderAware
,org.springframework.beans.factory.BeanFactoryAware
,org.springframework.beans.factory.DisposableBean
,org.springframework.beans.factory.FactoryBean<E>
,org.springframework.beans.factory.InitializingBean
,org.springframework.context.Lifecycle
,org.springframework.context.Phased
,org.springframework.context.SmartLifecycle
,org.springframework.integration.dsl.ComponentsRegistration
- Direct Known Subclasses:
HttpMessageHandlerSpec
public abstract class BaseHttpMessageHandlerSpec<S extends BaseHttpMessageHandlerSpec<S,E>,E extends AbstractHttpRequestExecutingMessageHandler>
extends org.springframework.integration.dsl.MessageHandlerSpec<S,E>
implements org.springframework.integration.dsl.ComponentsRegistration
The base
MessageHandlerSpec
for AbstractHttpRequestExecutingMessageHandler
s.- Since:
- 5.0
-
Field Summary
-
Constructor Summary
Constructors Constructor Description BaseHttpMessageHandlerSpec(E handler)
-
Method Summary
Modifier and Type Method Description S
charset(java.lang.String charset)
Specify the charset name to use for converting String-typed payloads to bytes.S
encodingMode(org.springframework.web.util.DefaultUriBuilderFactory.EncodingMode encodingMode)
Specify aDefaultUriBuilderFactory.EncodingMode
for uri construction.S
expectedResponseType(java.lang.Class<?> expectedResponseType)
Specify the expected response type for the REST request.S
expectedResponseType(org.springframework.core.ParameterizedTypeReference<?> expectedResponseType)
Specify aParameterizedTypeReference
for the expected response type for the REST request.S
expectedResponseTypeExpression(org.springframework.expression.Expression expectedResponseTypeExpression)
Specify a SpELExpression
to determine the type for the expected response The returned value of the expression could be an instance ofClass
orString
representing a fully qualified class name.<P> S
expectedResponseTypeFunction(java.util.function.Function<org.springframework.messaging.Message<P>,?> expectedResponseTypeFunction)
Specify aFunction
to determine the type for the expected response The returned value of the expression could be an instance ofClass
orString
representing a fully qualified class name.protected S
expectReply(boolean expectReply)
S
extractPayload(boolean extractPayload)
Specify whether the outbound message's payload should be extracted when preparing the request body.S
extractResponseBody(boolean extractResponseBody)
The flag to extract a body of theResponseEntity
for reply message payload.java.util.Map<java.lang.Object,java.lang.String>
getComponentsToRegister()
S
headerMapper(org.springframework.integration.mapping.HeaderMapper<org.springframework.http.HttpHeaders> headerMapper)
Set theHeaderMapper
to use when mapping between HTTP headers andMessageHeaders
.S
httpMethod(org.springframework.http.HttpMethod httpMethod)
Specify theHttpMethod
for requests.S
httpMethodExpression(org.springframework.expression.Expression httpMethodExpression)
Specify the SpELExpression
to determineHttpMethod
at runtime.<P> S
httpMethodFunction(java.util.function.Function<org.springframework.messaging.Message<P>,?> httpMethodFunction)
Specify aFunction
to determineHttpMethod
at runtime.protected abstract boolean
isClientSet()
S
mappedRequestHeaders(java.lang.String... patterns)
Provide the pattern array for request headers to map.S
mappedResponseHeaders(java.lang.String... patterns)
Provide the pattern array for response headers to map.S
transferCookies(boolean transferCookies)
Set totrue
if you wishSet-Cookie
header in response to be transferred asCookie
header in subsequent interaction for a message.S
uriVariable(java.lang.String variable, java.lang.String expression)
Specify a value SpEL expression for the uri template variable.<P> S
uriVariable(java.lang.String variable, java.util.function.Function<org.springframework.messaging.Message<P>,?> valueFunction)
Specify aFunction
to evaluate a value for the uri template variable.S
uriVariable(java.lang.String variable, org.springframework.expression.Expression expression)
Specify anExpression
to evaluate a value for the uri template variable.S
uriVariableExpressions(java.util.Map<java.lang.String,org.springframework.expression.Expression> uriVariableExpressions)
Set the Map of URI variable expressions to evaluate against the outbound message when replacing the variable placeholders in a URI template.S
uriVariablesExpression(java.lang.String uriVariablesExpression)
Specify a SpEL expression to evaluate aMap
of URI variables at runtime against request message.S
uriVariablesExpression(org.springframework.expression.Expression uriVariablesExpression)
Specify a SpEL expression to evaluate aMap
of URI variables at runtime against request message.<P> S
uriVariablesFunction(java.util.function.Function<org.springframework.messaging.Message<P>,java.util.Map<java.lang.String,?>> uriVariablesFunction)
Specify aFunction
to evaluate aMap
of URI variables at runtime against request message.Methods inherited from class org.springframework.integration.dsl.IntegrationComponentSpec
_this, createInstance, destroyInstance, doGet, get, getId, getObjectType, getPhase, id, isAutoStartup, isRunning, start, stop, stop
-
Constructor Details
-
Method Details
-
expectReply
-
encodingMode
public S encodingMode(org.springframework.web.util.DefaultUriBuilderFactory.EncodingMode encodingMode)Specify aDefaultUriBuilderFactory.EncodingMode
for uri construction.- Parameters:
encodingMode
- to use for uri construction.- Returns:
- the spec
- Since:
- 5.3
-
httpMethodExpression
Specify the SpELExpression
to determineHttpMethod
at runtime.- Parameters:
httpMethodExpression
- The method expression.- Returns:
- the spec
-
httpMethodFunction
public <P> S httpMethodFunction(java.util.function.Function<org.springframework.messaging.Message<P>,?> httpMethodFunction)Specify aFunction
to determineHttpMethod
at runtime.- Type Parameters:
P
- the payload type.- Parameters:
httpMethodFunction
- The HTTP methodFunction
.- Returns:
- the spec
-
httpMethod
Specify theHttpMethod
for requests. The default method isPOST
.- Parameters:
httpMethod
- theHttpMethod
to use.- Returns:
- the spec
-
extractPayload
Specify whether the outbound message's payload should be extracted when preparing the request body. Otherwise the Message instance itself is serialized. The default value istrue
.- Parameters:
extractPayload
- true if the payload should be extracted.- Returns:
- the spec
-
charset
Specify the charset name to use for converting String-typed payloads to bytes. The default isUTF-8
.- Parameters:
charset
- The charset.- Returns:
- the spec
-
expectedResponseType
Specify the expected response type for the REST request.- Parameters:
expectedResponseType
- The expected type.- Returns:
- the spec
-
expectedResponseType
public S expectedResponseType(org.springframework.core.ParameterizedTypeReference<?> expectedResponseType)Specify aParameterizedTypeReference
for the expected response type for the REST request.- Parameters:
expectedResponseType
- TheParameterizedTypeReference
for expected type.- Returns:
- the spec
-
expectedResponseTypeExpression
public S expectedResponseTypeExpression(org.springframework.expression.Expression expectedResponseTypeExpression)Specify a SpELExpression
to determine the type for the expected response The returned value of the expression could be an instance ofClass
orString
representing a fully qualified class name.- Parameters:
expectedResponseTypeExpression
- The expected response type expression.- Returns:
- the spec
-
expectedResponseTypeFunction
public <P> S expectedResponseTypeFunction(java.util.function.Function<org.springframework.messaging.Message<P>,?> expectedResponseTypeFunction)Specify aFunction
to determine the type for the expected response The returned value of the expression could be an instance ofClass
orString
representing a fully qualified class name.- Type Parameters:
P
- the payload type.- Parameters:
expectedResponseTypeFunction
- The expected response typeFunction
.- Returns:
- the spec
-
headerMapper
public S headerMapper(org.springframework.integration.mapping.HeaderMapper<org.springframework.http.HttpHeaders> headerMapper)Set theHeaderMapper
to use when mapping between HTTP headers andMessageHeaders
.- Parameters:
headerMapper
- The header mapper.- Returns:
- the spec
-
mappedRequestHeaders
Provide the pattern array for request headers to map.- Parameters:
patterns
- the patterns for request headers to map.- Returns:
- the spec
- See Also:
DefaultHttpHeaderMapper.setOutboundHeaderNames(String[])
-
mappedResponseHeaders
Provide the pattern array for response headers to map.- Parameters:
patterns
- the patterns for response headers to map.- Returns:
- the current Spec.
- See Also:
DefaultHttpHeaderMapper.setInboundHeaderNames(String[])
-
uriVariableExpressions
public S uriVariableExpressions(java.util.Map<java.lang.String,org.springframework.expression.Expression> uriVariableExpressions)Set the Map of URI variable expressions to evaluate against the outbound message when replacing the variable placeholders in a URI template.- Parameters:
uriVariableExpressions
- The URI variable expressions.- Returns:
- the current Spec.
- See Also:
AbstractHttpRequestExecutingMessageHandler.setUriVariableExpressions(Map)
-
uriVariable
public S uriVariable(java.lang.String variable, org.springframework.expression.Expression expression)Specify anExpression
to evaluate a value for the uri template variable.- Parameters:
variable
- the uri template variable.expression
- the expression to evaluate value for te uri template variable.- Returns:
- the current Spec.
- See Also:
AbstractHttpRequestExecutingMessageHandler.setUriVariableExpressions(Map)
,ValueExpression
,LiteralExpression
-
uriVariable
Specify a value SpEL expression for the uri template variable.- Parameters:
variable
- the uri template variable.expression
- the expression to evaluate value for te uri template variable.- Returns:
- the current Spec.
- See Also:
AbstractHttpRequestExecutingMessageHandler.setUriVariableExpressions(Map)
-
uriVariable
public <P> S uriVariable(java.lang.String variable, java.util.function.Function<org.springframework.messaging.Message<P>,?> valueFunction)Specify aFunction
to evaluate a value for the uri template variable.- Type Parameters:
P
- the payload type.- Parameters:
variable
- the uri template variable.valueFunction
- theFunction
to evaluate a value for the uri template variable.- Returns:
- the current Spec.
- See Also:
AbstractHttpRequestExecutingMessageHandler.setUriVariableExpressions(Map)
-
uriVariablesExpression
Specify a SpEL expression to evaluate aMap
of URI variables at runtime against request message.- Parameters:
uriVariablesExpression
- to use.- Returns:
- the current Spec.
- See Also:
AbstractHttpRequestExecutingMessageHandler.setUriVariablesExpression(Expression)
-
uriVariablesExpression
Specify a SpEL expression to evaluate aMap
of URI variables at runtime against request message.- Parameters:
uriVariablesExpression
- to use.- Returns:
- the current Spec.
- See Also:
AbstractHttpRequestExecutingMessageHandler.setUriVariablesExpression(Expression)
-
uriVariablesFunction
public <P> S uriVariablesFunction(java.util.function.Function<org.springframework.messaging.Message<P>,java.util.Map<java.lang.String,?>> uriVariablesFunction)Specify aFunction
to evaluate aMap
of URI variables at runtime against request message.- Type Parameters:
P
- the payload type.- Parameters:
uriVariablesFunction
- theFunction
to use.- Returns:
- the current Spec.
- See Also:
AbstractHttpRequestExecutingMessageHandler.setUriVariablesExpression(Expression)
-
transferCookies
Set totrue
if you wishSet-Cookie
header in response to be transferred asCookie
header in subsequent interaction for a message. Defaults to false.- Parameters:
transferCookies
- the transferCookies to set.- Returns:
- the current Spec.
-
extractResponseBody
The flag to extract a body of theResponseEntity
for reply message payload. Defaults to true.- Parameters:
extractResponseBody
- produce a reply message with a wholeResponseEntity
or just its body.- Returns:
- the current Spec.
- Since:
- 5.5
-
getComponentsToRegister
public java.util.Map<java.lang.Object,java.lang.String> getComponentsToRegister()- Specified by:
getComponentsToRegister
in interfaceorg.springframework.integration.dsl.ComponentsRegistration
-
isClientSet
protected abstract boolean isClientSet()
-