Class BaseHttpMessageHandlerSpec<S extends BaseHttpMessageHandlerSpec<S,E>,E extends AbstractHttpRequestExecutingMessageHandler>
java.lang.Object
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.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
Fields inherited from class org.springframework.integration.dsl.IntegrationComponentSpec
logger, PARSER, target
Fields inherited from interface org.springframework.beans.factory.FactoryBean
OBJECT_TYPE_ATTRIBUTE
Fields inherited from interface org.springframework.context.SmartLifecycle
DEFAULT_PHASE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionSpecify the charset name to use for converting String-typed payloads to bytes.encodingMode
(org.springframework.web.util.DefaultUriBuilderFactory.EncodingMode encodingMode) Specify aDefaultUriBuilderFactory.EncodingMode
for uri construction.expectedResponseType
(Class<?> expectedResponseType) Specify the expected response type for the REST request.expectedResponseType
(org.springframework.core.ParameterizedTypeReference<?> expectedResponseType) Specify aParameterizedTypeReference
for the expected response type for the REST request.expectedResponseTypeExpression
(org.springframework.expression.Expression expectedResponseTypeExpression) <P> S
expectedResponseTypeFunction
(Function<org.springframework.messaging.Message<P>, ?> expectedResponseTypeFunction) protected S
expectReply
(boolean expectReply) extractPayload
(boolean extractPayload) Specify whether the outbound message's payload should be extracted when preparing the request body.extractResponseBody
(boolean extractResponseBody) The flag to extract a body of theResponseEntity
for reply message payload.headerMapper
(org.springframework.integration.mapping.HeaderMapper<org.springframework.http.HttpHeaders> headerMapper) Set theHeaderMapper
to use when mapping between HTTP headers andMessageHeaders
.httpMethod
(org.springframework.http.HttpMethod httpMethod) Specify theHttpMethod
for requests.httpMethodExpression
(org.springframework.expression.Expression httpMethodExpression) Specify the SpELExpression
to determineHttpMethod
at runtime.<P> S
httpMethodFunction
(Function<org.springframework.messaging.Message<P>, ?> httpMethodFunction) Specify aFunction
to determineHttpMethod
at runtime.protected abstract boolean
mappedRequestHeaders
(String... patterns) Provide the pattern array for request headers to map.mappedResponseHeaders
(String... patterns) Provide the pattern array for response headers to map.transferCookies
(boolean transferCookies) Set totrue
if you wishSet-Cookie
header in response to be transferred asCookie
header in subsequent interaction for a message.uriVariable
(String variable, String expression) Specify a value SpEL expression for the uri template variable.<P> S
uriVariable
(String variable, Function<org.springframework.messaging.Message<P>, ?> valueFunction) Specify aFunction
to evaluate a value for the uri template variable.uriVariable
(String variable, org.springframework.expression.Expression expression) Specify anExpression
to evaluate a value for the uri template variable.uriVariableExpressions
(Map<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.uriVariablesExpression
(String uriVariablesExpression) Specify a SpEL expression to evaluate aMap
of URI variables at runtime against request message.uriVariablesExpression
(org.springframework.expression.Expression uriVariablesExpression) Specify a SpEL expression to evaluate aMap
of URI variables at runtime against request message.<P> S
uriVariablesFunction
(Function<org.springframework.messaging.Message<P>, Map<String, ?>> uriVariablesFunction) Methods inherited from class org.springframework.integration.dsl.IntegrationComponentSpec
_this, afterPropertiesSet, destroy, doGet, getId, getObject, getObjectType, getPhase, id, isAutoStartup, isRunning, start, stop, stop
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.beans.factory.FactoryBean
isSingleton
-
Constructor Details
-
BaseHttpMessageHandlerSpec
-
-
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(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(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:
-
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:
-
uriVariableExpressions
public S uriVariableExpressions(Map<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:
-
uriVariable
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:
-
uriVariable
public <P> S uriVariable(String variable, 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:
-
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:
-
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:
-
uriVariablesFunction
public <P> S uriVariablesFunction(Function<org.springframework.messaging.Message<P>, Map<String, ?>> uriVariablesFunction) - Type Parameters:
P
- the payload type.- Parameters:
uriVariablesFunction
- theFunction
to use.- Returns:
- the current Spec.
- See Also:
-
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
- Specified by:
getComponentsToRegister
in interfaceorg.springframework.integration.dsl.ComponentsRegistration
-
isClientSet
protected abstract boolean isClientSet()
-