A processor app that makes requests to an HTTP resource and emits the response body as a message payload.
Any Required HTTP headers must be explicitly set via the headers
or headers-expression
property. See examples below.
Header values may also be used to construct:
-
the request body when referenced in the
body-expression
property. -
the HTTP method when referenced in the
http-method-expression
property. -
the URL when referenced in the
url-expression
property.
The payload is used as the request body for a POST request by default, and can be any Java type. It should be an empty String for a GET request. The payload may also be used to construct:
-
the request body when referenced in the
body-expression
property. -
the HTTP method when referenced in the
http-method-expression
property. -
the URL when referenced in the
url-expression
property.
The underlying WebClient supports Jackson JSON serialization to support any request and response types if necessary.
The expected-response-type
property, String.class
by default, may be set to any class in your application class path.
Note that user defined payload types will require adding required dependencies to your pom file.
The raw output object is ResponseEntity<?> any of its fields (e.g., body
, headers
) or accessor methods (statusCode
) may be referenced as part of the reply-expression
.
By default the outbound Message payload is the response body.
Note that ResponseEntity (referenced by the expression #root
) cannot be deserialized by Jackson by default, but may be rendered as a HashMap
.
Properties grouped by prefix:
- body-expression
-
A SpEL expression to derive the request body from the incoming message. (Expression, default:
<none>
) - expected-response-type
-
The type used to interpret the response. (Class<?>, default:
<none>
) - headers-expression
-
A SpEL expression used to derive the http headers map to use. (Expression, default:
<none>
) - http-method-expression
-
A SpEL expression to derive the request method from the incoming message. (Expression, default:
<none>
) - reply-expression
-
A SpEL expression used to compute the final result, applied against the whole http {@link org.springframework.http.ResponseEntity}. (Expression, default:
<none>
) - timeout
-
Request timeout in milliseconds. (Long, default:
30000
) - url-expression
-
A SpEL expression against incoming message to determine the URL to use. (Expression, default:
<none>
)
- log-request-details
-
Whether to log form data at DEBUG level, and headers at TRACE level. (Boolean, default:
false
) - max-in-memory-size
-
Limit on the number of bytes that can be buffered whenever the input stream needs to be aggregated. This applies only to the auto-configured WebFlux server and WebClient instances. By default this is not set, in which case individual codec defaults apply. Most codecs are limited to 256K by default. (DataSize, default:
<none>
)