Schema URL

Type: object[]

Items

object
beans org.apache.camel.model.BeanFactoryDefinition[]
dataFormats org.apache.camel.model.dataformat.DataFormatsDefinition[]
errorHandler object
Any of: object | object | object | object | object | object object | object | object | object | object | object
7 nested properties
id string

The id of this node

deadLetterChannel
defaultErrorHandler
jtaTransactionErrorHandler
noErrorHandler
refErrorHandler
springTransactionErrorHandler
from object
6 nested properties
steps org.apache.camel.model.ProcessorDefinition[] required
uri string required
description string
id string
parameters object
variableReceive string
intercept object

Intercepts a message at each step in the route

6 nested properties
description string

Sets the description of this node

disabled boolean

Disables this EIP from the route.

Default: false
id string

Sets the id of this node

note string

Sets the note of this node

onWhen object

To use a predicate to determine when to trigger this.

Any of: org.apache.camel.model.language.ExpressionDefinition | object org.apache.camel.model.language.ExpressionDefinition | object
30 nested properties
description string

Sets the description of this node

id string

Sets the id of this node

note string

Sets the note of this node

constant
csimple
datasonnet
exchangeProperty
groovy
header
hl7terser
java
joor
jq
js
jsonpath
language
method
mvel
ognl
python
ref
simple
spel
tokenize
variable
wasm
xpath
xquery
xtokenize
expression
steps org.apache.camel.model.ProcessorDefinition[]
interceptFrom string | object

Intercepts incoming messages

interceptSendToEndpoint string | object

Intercepts messages being sent to an endpoint

onCompletion object

Route to be executed when normal route processing completes

12 nested properties
description string

Sets the description of this node

disabled boolean

Disables this EIP from the route.

Default: false
executorService string

To use a custom Thread Pool to be used for parallel processing. Notice if you set this option, then parallel processing is automatic implied, and you do not have to enable that option as well.

id string

Sets the id of this node

mode string

Sets the on completion mode. The default value is AfterConsumer

Default: "AfterConsumer"
Values: "AfterConsumer" "BeforeConsumer"
note string

Sets the note of this node

onCompleteOnly boolean

Will only synchronize when the org.apache.camel.Exchange completed successfully (no errors).

Default: false
onFailureOnly boolean

Will only synchronize when the org.apache.camel.Exchange ended with failure (exception or FAULT message).

Default: false
onWhen object

To use a predicate to determine when to trigger this.

Any of: org.apache.camel.model.language.ExpressionDefinition | object org.apache.camel.model.language.ExpressionDefinition | object
30 nested properties
description string

Sets the description of this node

id string

Sets the id of this node

note string

Sets the note of this node

constant
csimple
datasonnet
exchangeProperty
groovy
header
hl7terser
java
joor
jq
js
jsonpath
language
method
mvel
ognl
python
ref
simple
spel
tokenize
variable
wasm
xpath
xquery
xtokenize
expression
parallelProcessing boolean

If enabled then the on completion process will run asynchronously by a separate thread from a thread pool. By default this is false, meaning the on completion process will run synchronously using the same caller thread as from the route.

Default: false
steps org.apache.camel.model.ProcessorDefinition[]
useOriginalMessage boolean

Will use the original input message body when an org.apache.camel.Exchange for this on completion. The original input message is defensively copied, and the copied message body is converted to org.apache.camel.StreamCache if possible (stream caching is enabled, can be disabled globally or on the original route), to ensure the body can be read when the original message is being used later. If the body is converted to org.apache.camel.StreamCache then the message body on the current org.apache.camel.Exchange is replaced with the org.apache.camel.StreamCache body. If the body is not converted to org.apache.camel.StreamCache then the body will not be able to re-read when accessed later. Important: The original input means the input message that are bounded by the current org.apache.camel.spi.UnitOfWork . An unit of work typically spans one route, or multiple routes if they are connected using internal endpoints such as direct or seda. When messages is passed via external endpoints such as JMS or HTTP then the consumer will create a new unit of work, with the message it received as input as the original input. Also some EIP patterns such as splitter, multicast, will create a new unit of work boundary for the messages in their sub-route (eg the split message); however these EIPs have an option named shareUnitOfWork which allows to combine with the parent unit of work in regard to error handling and therefore use the parent original message. By default this feature is off.

Default: false
onException object

Route to be executed when an exception is thrown

16 nested properties
continued object
Any of: object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object
26 nested properties
constant
csimple
datasonnet
exchangeProperty
groovy
header
hl7terser
java
joor
jq
js
jsonpath
language
method
mvel
ognl
python
ref
simple
spel
tokenize
variable
wasm
xpath
xquery
xtokenize
description string

Sets the description of this node

disabled boolean

Disables this EIP from the route.

Default: false
exception string[]

A set of exceptions to react upon.

handled object
Any of: object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object
26 nested properties
constant
csimple
datasonnet
exchangeProperty
groovy
header
hl7terser
java
joor
jq
js
jsonpath
language
method
mvel
ognl
python
ref
simple
spel
tokenize
variable
wasm
xpath
xquery
xtokenize
id string

Sets the id of this node

note string

Sets the note of this node

onExceptionOccurredRef string

Sets a reference to a processor that should be processed just after an exception occurred. Can be used to perform custom logging about the occurred exception at the exact time it happened. Important: Any exception thrown from this processor will be ignored.

onRedeliveryRef string

Sets a reference to a processor that should be processed before a redelivery attempt. Can be used to change the org.apache.camel.Exchange before its being redelivered.

onWhen object

To use a predicate to determine when to trigger this.

Any of: org.apache.camel.model.language.ExpressionDefinition | object org.apache.camel.model.language.ExpressionDefinition | object
30 nested properties
description string

Sets the description of this node

id string

Sets the id of this node

note string

Sets the note of this node

constant
csimple
datasonnet
exchangeProperty
groovy
header
hl7terser
java
joor
jq
js
jsonpath
language
method
mvel
ognl
python
ref
simple
spel
tokenize
variable
wasm
xpath
xquery
xtokenize
expression
redeliveryPolicy object

To configure re-delivery for error handling

25 nested properties
allowRedeliveryWhileStopping boolean

Controls whether to allow redelivery while stopping/shutting down a route that uses error handling.

Default: true
asyncDelayedRedelivery boolean

Allow asynchronous delayed redelivery. The route, in particular the consumer's component, must support the Asynchronous Routing Engine (e.g. seda).

Default: false
backOffMultiplier number

Sets the back off multiplier

Default: 2.0
collisionAvoidanceFactor number

Sets the collision avoidance factor

Default: 0.15
delayPattern string

Sets the delay pattern with delay intervals.

disableRedelivery boolean

Disables redelivery (same as setting maximum redeliveries to 0)

Default: false
exchangeFormatterRef string

Sets the reference of the instance of org.apache.camel.spi.ExchangeFormatter to generate the log message from exchange.

id string

The id of this node

logContinued boolean

Sets whether continued exceptions should be logged or not. Can be used to include or reduce verbose.

Default: false
logExhausted boolean

Sets whether exhausted exceptions should be logged or not. Can be used to include or reduce verbose.

Default: true
logExhaustedMessageBody boolean

Sets whether exhausted message body should be logged including message history or not (supports property placeholders). Can be used to include or reduce verbose. Requires logExhaustedMessageHistory to be enabled.

Default: false
logExhaustedMessageHistory boolean

Sets whether exhausted exceptions should be logged including message history or not (supports property placeholders). Can be used to include or reduce verbose.

Default: false
logHandled boolean

Sets whether handled exceptions should be logged or not. Can be used to include or reduce verbose.

Default: false
logNewException boolean

Sets whether new exceptions should be logged or not. Can be used to include or reduce verbose. A new exception is an exception that was thrown while handling a previous exception.

Default: true
logRetryAttempted boolean

Sets whether retry attempts should be logged or not. Can be used to include or reduce verbose.

Default: true
logRetryStackTrace boolean

Sets whether stack traces should be logged when an retry attempt failed. Can be used to include or reduce verbose.

Default: false
logStackTrace boolean

Sets whether stack traces should be logged. Can be used to include or reduce verbose.

Default: true
maximumRedeliveries number

Sets the maximum redeliveries x = redeliver at most x times 0 = no redeliveries -1 = redeliver forever

maximumRedeliveryDelay string

Sets the maximum delay between redelivery

Default: "60000"
redeliveryDelay string

Sets the initial redelivery delay

Default: "1000"
retriesExhaustedLogLevel string

Sets the logging level to use when retries have been exhausted

Default: "ERROR"
Values: "TRACE" "DEBUG" "INFO" "WARN" "ERROR" "OFF"
retryAttemptedLogInterval number

Sets the interval to use for logging retry attempts

Default: 1
retryAttemptedLogLevel string

Sets the logging level to use for logging retry attempts

Default: "DEBUG"
Values: "TRACE" "DEBUG" "INFO" "WARN" "ERROR" "OFF"
useCollisionAvoidance boolean

Turn on collision avoidance.

Default: false
useExponentialBackOff boolean

Turn on exponential back off

Default: false
redeliveryPolicyRef string

Sets a reference to a redelivery policy to lookup in the org.apache.camel.spi.Registry to be used.

retryWhile object
Any of: object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object
26 nested properties
constant
csimple
datasonnet
exchangeProperty
groovy
header
hl7terser
java
joor
jq
js
jsonpath
language
method
mvel
ognl
python
ref
simple
spel
tokenize
variable
wasm
xpath
xquery
xtokenize
steps org.apache.camel.model.ProcessorDefinition[]
useOriginalBody boolean

Will use the original input org.apache.camel.Message body (original body only) when an org.apache.camel.Exchange is moved to the dead letter queue. Notice: this only applies when all redeliveries attempt have failed and the org.apache.camel.Exchange is doomed for failure. Instead of using the current inprogress org.apache.camel.Exchange IN message we use the original IN message instead. This allows you to store the original input in the dead letter queue instead of the inprogress snapshot of the IN message. For instance if you route transform the IN body during routing and then failed. With the original exchange store in the dead letter queue it might be easier to manually re submit the org.apache.camel.Exchange again as the IN message is the same as when Camel received it. So you should be able to send the org.apache.camel.Exchange to the same input. The difference between useOriginalMessage and useOriginalBody is that the former includes both the original body and headers, where as the latter only includes the original body. You can use the latter to enrich the message with custom headers and include the original message body. The former wont let you do this, as its using the original message body and headers as they are. You cannot enable both useOriginalMessage and useOriginalBody. The original input message is defensively copied, and the copied message body is converted to org.apache.camel.StreamCache if possible (stream caching is enabled, can be disabled globally or on the original route), to ensure the body can be read when the original message is being used later. If the body is converted to org.apache.camel.StreamCache then the message body on the current org.apache.camel.Exchange is replaced with the org.apache.camel.StreamCache body. If the body is not converted to org.apache.camel.StreamCache then the body will not be able to re-read when accessed later. Important: The original input means the input message that are bounded by the current org.apache.camel.spi.UnitOfWork . An unit of work typically spans one route, or multiple routes if they are connected using internal endpoints such as direct or seda. When messages is passed via external endpoints such as JMS or HTTP then the consumer will create a new unit of work, with the message it received as input as the original input. Also some EIP patterns such as splitter, multicast, will create a new unit of work boundary for the messages in their sub-route (eg the split message); however these EIPs have an option named shareUnitOfWork which allows to combine with the parent unit of work in regard to error handling and therefore use the parent original message. By default this feature is off.

Default: false
useOriginalMessage boolean

Will use the original input org.apache.camel.Message (original body and headers) when an org.apache.camel.Exchange is moved to the dead letter queue. Notice: this only applies when all redeliveries attempt have failed and the org.apache.camel.Exchange is doomed for failure. Instead of using the current inprogress org.apache.camel.Exchange IN message we use the original IN message instead. This allows you to store the original input in the dead letter queue instead of the inprogress snapshot of the IN message. For instance if you route transform the IN body during routing and then failed. With the original exchange store in the dead letter queue it might be easier to manually re submit the org.apache.camel.Exchange again as the IN message is the same as when Camel received it. So you should be able to send the org.apache.camel.Exchange to the same input. The difference between useOriginalMessage and useOriginalBody is that the former includes both the original body and headers, where as the latter only includes the original body. You can use the latter to enrich the message with custom headers and include the original message body. The former wont let you do this, as its using the original message body and headers as they are. You cannot enable both useOriginalMessage and useOriginalBody. The original input message is defensively copied, and the copied message body is converted to org.apache.camel.StreamCache if possible (stream caching is enabled, can be disabled globally or on the original route), to ensure the body can be read when the original message is being used later. If the body is converted to org.apache.camel.StreamCache then the message body on the current org.apache.camel.Exchange is replaced with the org.apache.camel.StreamCache body. If the body is not converted to org.apache.camel.StreamCache then the body will not be able to re-read when accessed later. Important: The original input means the input message that are bounded by the current org.apache.camel.spi.UnitOfWork . An unit of work typically spans one route, or multiple routes if they are connected using internal endpoints such as direct or seda. When messages is passed via external endpoints such as JMS or HTTP then the consumer will create a new unit of work, with the message it received as input as the original input. Also some EIP patterns such as splitter, multicast, will create a new unit of work boundary for the messages in their sub-route (eg the split message); however these EIPs have an option named shareUnitOfWork which allows to combine with the parent unit of work in regard to error handling and therefore use the parent original message. By default this feature is off.

Default: false
routeConfiguration object
9 nested properties
description string
errorHandler object

Camel error handling.

Any of: object | object | object | object | object | object object | object | object | object | object | object
7 nested properties
id string

The id of this node

deadLetterChannel
defaultErrorHandler
jtaTransactionErrorHandler
noErrorHandler
refErrorHandler
springTransactionErrorHandler
id string
intercept object[]
interceptFrom object[]
interceptSendToEndpoint object[]
onCompletion object[]
onException object[]
precondition string
route object
21 nested properties
from object required
7 nested properties
steps org.apache.camel.model.ProcessorDefinition[] required
uri string required
description string
id string
note string
parameters object
variableReceive string
autoStartup boolean
description string
errorHandler object

Camel error handling.

Any of: object | object | object | object | object | object object | object | object | object | object | object
7 nested properties
id string

The id of this node

deadLetterChannel
defaultErrorHandler
jtaTransactionErrorHandler
noErrorHandler
refErrorHandler
springTransactionErrorHandler
errorHandlerRef string
group string
id string
inputType object

Set the expected data type of the input message. If the actual message type is different at runtime, camel look for a required Transformer and apply if exists. If validate attribute is true then camel applies Validator as well. Type name consists of two parts, 'scheme' and 'name' connected with ':'. For Java type 'name' is a fully qualified class name. For example {code java:java.lang.String} , {code json:ABCOrder} . It's also possible to specify only scheme part, so that it works like a wildcard. If only 'xml' is specified, all the XML message matches. It's handy to add only one transformer/validator for all the transformation from/to XML.

5 nested properties
urn string required

The input type URN.

description string

Sets the description of this node

id string

Sets the id of this node

note string

Sets the note of this node

validate boolean

Whether if validation is required for this input type.

Default: false
logMask boolean
messageHistory boolean
nodePrefixId string
note string
outputType object

Set the expected data type of the output message. If the actual message type is different at runtime, camel look for a required Transformer and apply if exists. If validate attribute is true then camel applies Validator as well. Type name consists of two parts, 'scheme' and 'name' connected with ':'. For Java type 'name' is a fully qualified class name. For example {code java:java.lang.String} , {code json:ABCOrder} . It's also possible to specify only scheme part, so that it works like a wildcard. If only 'xml' is specified, all the XML message matches. It's handy to add only one transformer/validator for all the XML-Java transformation.

5 nested properties
urn string required

Set output type URN.

description string

Sets the description of this node

id string

Sets the id of this node

note string

Sets the note of this node

validate boolean

Whether if validation is required for this output type.

Default: false
precondition string
routeConfigurationId string
routePolicyRef string
shutdownRoute string

To control how to shut down the route.

Default: "Default"
Values: "Default" "Defer"
shutdownRunningTask string

To control how to shut down the route.

Default: "CompleteCurrentTaskOnly"
Values: "CompleteCurrentTaskOnly" "CompleteAllTasks"
startupOrder number
streamCache boolean
trace boolean
routeTemplate object
7 nested properties
id string required
beans org.apache.camel.model.BeanFactoryDefinition[]
description string
from object
7 nested properties
steps org.apache.camel.model.ProcessorDefinition[] required
uri string required
description string
id string
note string
parameters object
variableReceive string
note string
parameters org.apache.camel.model.RouteTemplateParameterDefinition[]
route object
21 nested properties
from object required
autoStartup boolean
description string
errorHandler object

Camel error handling.

Any of: object | object | object | object | object | object object | object | object | object | object | object
errorHandlerRef string
group string
id string
inputType object

Set the expected data type of the input message. If the actual message type is different at runtime, camel look for a required Transformer and apply if exists. If validate attribute is true then camel applies Validator as well. Type name consists of two parts, 'scheme' and 'name' connected with ':'. For Java type 'name' is a fully qualified class name. For example {code java:java.lang.String} , {code json:ABCOrder} . It's also possible to specify only scheme part, so that it works like a wildcard. If only 'xml' is specified, all the XML message matches. It's handy to add only one transformer/validator for all the transformation from/to XML.

logMask boolean
messageHistory boolean
nodePrefixId string
note string
outputType object

Set the expected data type of the output message. If the actual message type is different at runtime, camel look for a required Transformer and apply if exists. If validate attribute is true then camel applies Validator as well. Type name consists of two parts, 'scheme' and 'name' connected with ':'. For Java type 'name' is a fully qualified class name. For example {code java:java.lang.String} , {code json:ABCOrder} . It's also possible to specify only scheme part, so that it works like a wildcard. If only 'xml' is specified, all the XML message matches. It's handy to add only one transformer/validator for all the XML-Java transformation.

precondition string
routeConfigurationId string
routePolicyRef string
shutdownRoute string

To control how to shut down the route.

Default: "Default"
Values: "Default" "Defer"
shutdownRunningTask string

To control how to shut down the route.

Default: "CompleteCurrentTaskOnly"
Values: "CompleteCurrentTaskOnly" "CompleteAllTasks"
startupOrder number
streamCache boolean
trace boolean
templatedRoute object
6 nested properties
routeTemplateRef string required
beans org.apache.camel.model.BeanFactoryDefinition[]
group string
parameters org.apache.camel.model.TemplatedRouteParameterDefinition[]
prefixId string
routeId string
sslContextParameters object
26 nested properties
certAlias string
cipherSuites string
cipherSuitesExclude string
cipherSuitesInclude string
clientAuthentication string
Values: "NONE" "WANT" "REQUIRE"
id string
keyManagerAlgorithm string
keyManagerProvider string
keyStore string
keyStoreProvider string
keyStoreType string
keystorePassword string
namedGroups string
namedGroupsExclude string
namedGroupsInclude string
provider string
secureRandomAlgorithm string
secureRandomProvider string
secureSocketProtocol string
sessionTimeout string
signatureSchemes string
signatureSchemesExclude string
signatureSchemesInclude string
trustAllCertificates string
trustStore string
trustStorePassword string
restConfiguration object

To configure rest

31 nested properties
apiComponent string

The name of the Camel component to use as the REST API. If no API Component has been explicit configured, then Camel will lookup if there is a Camel component responsible for servicing and generating the REST API documentation, or if a org.apache.camel.spi.RestApiProcessorFactory is registered in the registry. If either one is found, then that is being used.

Values: "openapi" "swagger"
apiContextPath string

Sets a leading context-path the REST API will be using. This can be used when using components such as camel-servlet where the deployed web application is deployed using a context-path.

apiContextRouteId string

Sets the route id to use for the route that services the REST API. The route will by default use an auto assigned route id.

apiHost string

To use a specific hostname for the API documentation (such as swagger or openapi) This can be used to override the generated host with this configured hostname

apiProperty org.apache.camel.model.rest.RestPropertyDefinition[]

Allows to configure as many additional properties for the api documentation. For example set property api.title to my cool stuff

apiVendorExtension boolean

Whether vendor extension is enabled in the Rest APIs. If enabled then Camel will include additional information as vendor extension (eg keys starting with x-) such as route ids, class names etc. Not all 3rd party API gateways and tools supports vendor-extensions when importing your API docs.

Default: false
bindingMode string

Sets the binding mode to use. The default value is off

Default: "off"
Values: "auto" "json" "json_xml" "off" "xml"
bindingPackageScan string

Package name to use as base (offset) for classpath scanning of POJO classes are located when using binding mode is enabled for JSon or XML. Multiple package names can be separated by comma.

clientRequestValidation boolean

Whether to enable validation of the client request to check: 1) Content-Type header matches what the Rest DSL consumes; returns HTTP Status 415 if validation error. 2) Accept header matches what the Rest DSL produces; returns HTTP Status 406 if validation error. 3) Missing required data (query parameters, HTTP headers, body); returns HTTP Status 400 if validation error. 4) Parsing error of the message body (JSon, XML or Auto binding mode must be enabled); returns HTTP Status 400 if validation error.

Default: false
clientResponseValidation boolean

Whether to check what Camel is returning as response to the client: 1) Status-code and Content-Type matches Rest DSL response messages. 2) Check whether expected headers is included according to the Rest DSL repose message headers. 3) If the response body is JSon then check whether its valid JSon. Returns 500 if validation error detected.

Default: false
component string

The Camel Rest component to use for the REST transport (consumer), such as netty-http, jetty, servlet, undertow. If no component has been explicit configured, then Camel will lookup if there is a Camel component that integrates with the Rest DSL, or if a org.apache.camel.spi.RestConsumerFactory is registered in the registry. If either one is found, then that is being used.

Values: "platform-http" "servlet" "jetty" "undertow" "netty-http" "coap"
componentProperty org.apache.camel.model.rest.RestPropertyDefinition[]

Allows to configure as many additional properties for the rest component in use.

consumerProperty org.apache.camel.model.rest.RestPropertyDefinition[]

Allows to configure as many additional properties for the rest consumer in use.

contextPath string

Sets a leading context-path the REST services will be using. This can be used when using components such as camel-servlet where the deployed web application is deployed using a context-path. Or for components such as camel-jetty or camel-netty-http that includes a HTTP server.

corsHeaders org.apache.camel.model.rest.RestPropertyDefinition[]

Allows to configure custom CORS headers.

dataFormatProperty org.apache.camel.model.rest.RestPropertyDefinition[]

Allows to configure as many additional properties for the data formats in use. For example set property prettyPrint to true to have json outputted in pretty mode. The properties can be prefixed to denote the option is only for either JSON or XML and for either the IN or the OUT. The prefixes are: json.in. json.out. xml.in. xml.out. For example a key with value xml.out.mustBeJAXBElement is only for the XML data format for the outgoing. A key without a prefix is a common key for all situations.

enableCORS boolean

Whether to enable CORS headers in the HTTP response. The default value is false.

Default: false
enableNoContentResponse boolean

Whether to return HTTP 204 with an empty body when a response contains an empty JSON object or XML root object. The default value is false.

Default: false
endpointProperty org.apache.camel.model.rest.RestPropertyDefinition[]

Allows to configure as many additional properties for the rest endpoint in use.

host string

The hostname to use for exposing the REST service.

hostNameResolver string

If no hostname has been explicit configured, then this resolver is used to compute the hostname the REST service will be using.

Default: "allLocalIp"
Values: "allLocalIp" "localHostName" "localIp" "none"
inlineRoutes boolean

Inline routes in rest-dsl which are linked using direct endpoints. Each service in Rest DSL is an individual route, meaning that you would have at least two routes per service (rest-dsl, and the route linked from rest-dsl). By inlining (default) allows Camel to optimize and inline this as a single route, however this requires to use direct endpoints, which must be unique per service. If a route is not using direct endpoint then the rest-dsl is not inlined, and will become an individual route. This option is default true.

Default: true
jsonDataFormat string

Name of specific json data format to use. By default, jackson will be used. Important: This option is only for setting a custom name of the data format, not to refer to an existing data format instance.

Default: "jackson"
Values: "jackson" "jsonb" "fastjson" "gson"
port string

The port number to use for exposing the REST service. Notice if you use servlet component then the port number configured here does not apply, as the port number in use is the actual port number the servlet component is using. eg if using Apache Tomcat its the tomcat http port, if using Apache Karaf its the HTTP service in Karaf that uses port 8181 by default etc. Though in those situations setting the port number here, allows tooling and JMX to know the port number, so its recommended to set the port number to the number that the servlet engine uses.

producerApiDoc string

Sets the location of the api document the REST producer will use to validate the REST uri and query parameters are valid accordingly to the api document. The location of the api document is loaded from classpath by default, but you can use file: or http: to refer to resources to load from file or http url.

producerComponent string

Sets the name of the Camel component to use as the REST producer

Values: "vertx-http" "http" "undertow" "netty-http"
scheme string

The scheme to use for exposing the REST service. Usually http or https is supported. The default value is http

skipBindingOnErrorCode boolean

Whether to skip binding on output if there is a custom HTTP error code header. This allows to build custom error messages that do not bind to json / xml etc, as success messages otherwise will do.

Default: false
useXForwardHeaders boolean

Whether to use X-Forward headers to set host etc. for OpenApi. This may be needed in special cases involving reverse-proxy and networking going from HTTP to HTTPS etc. Then the proxy can send X-Forward headers (X-Forwarded-Proto) that influences the host names in the OpenAPI schema that camel-openapi-java generates from Rest DSL routes.

Default: false
validationLevels org.apache.camel.model.rest.RestPropertyDefinition[]

Allows to configure custom validation levels when using camel-openapi-validator with client request/response validator.

xmlDataFormat string

Name of specific XML data format to use. By default jaxb will be used, but jacksonXml is also supported. Important: This option is only for setting a custom name of the data format, not to refer to an existing data format instance.

Default: "jaxb"
Values: "jaxb" "jacksonXml"
rest object

Defines a rest service using the rest-dsl

24 nested properties
apiDocs boolean

Whether to include or exclude this rest operation in API documentation. This option will override what may be configured on a parent level. The default value is true.

Default: true
bindingMode string

Sets the binding mode to use. This option will override what may be configured on a parent level The default value is auto

Default: "off"
Values: "off" "auto" "json" "xml" "json_xml"
clientRequestValidation boolean

Whether to enable validation of the client request to check: 1) Content-Type header matches what the Rest DSL consumes; returns HTTP Status 415 if validation error. 2) Accept header matches what the Rest DSL produces; returns HTTP Status 406 if validation error. 3) Missing required data (query parameters, HTTP headers, body); returns HTTP Status 400 if validation error. 4) Parsing error of the message body (JSon, XML or Auto binding mode must be enabled); returns HTTP Status 400 if validation error.

Default: false
clientResponseValidation boolean

Whether to check what Camel is returning as response to the client: 1) Status-code and Content-Type matches Rest DSL response messages. 2) Check whether expected headers is included according to the Rest DSL repose message headers. 3) If the response body is JSon then check whether its valid JSon. Returns 500 if validation error detected.

Default: false
consumes string

To define the content type what the REST service consumes (accept as input), such as application/xml or application/json. This option will override what may be configured on a parent level

delete org.apache.camel.model.rest.DeleteDefinition[]
description string

Sets the description of this node

disabled boolean

Whether to disable this REST service from the route during build time. Once an REST service has been disabled then it cannot be enabled later at runtime.

Default: false
enableCORS boolean

Whether to enable CORS headers in the HTTP response. This option will override what may be configured on a parent level The default value is false.

Default: false
enableNoContentResponse boolean

Whether to return HTTP 204 with an empty body when a response contains an empty JSON object or XML root object. The default value is false.

Default: false
get org.apache.camel.model.rest.GetDefinition[]
head org.apache.camel.model.rest.HeadDefinition[]
id string

Sets the id of this node

note string

Sets the note of this node

openApi object

To use OpenApi as contract-first with Camel Rest DSL.

9 nested properties
specification string required

Path to the OpenApi specification file.

apiContextPath string

Whether to enable api-doc that exposes the OpenAPI specification file as a REST endpoint. This allows clients to obtain the specification from the running Camel application.

description string

Sets the description of this node

disabled boolean

Whether to disable all the REST services from the OpenAPI contract from the route during build time. Once an REST service has been disabled then it cannot be enabled later at runtime.

Default: false
id string

Sets the id of this node

missingOperation string

Whether to fail, ignore or return a mock response for OpenAPI operations that are not mapped to a corresponding route.

Default: "fail"
Values: "fail" "ignore" "mock"
mockIncludePattern string

Used for inclusive filtering of mock data from directories. The pattern is using Ant-path style pattern. Multiple patterns can be specified separated by comma.

Default: "classpath:camel-mock/**"
note string

Sets the note of this node

routeId string

Sets the id of the route

patch org.apache.camel.model.rest.PatchDefinition[]
path string

Path of the rest service, such as /foo

post org.apache.camel.model.rest.PostDefinition[]
produces string

To define the content type what the REST service produces (uses for output), such as application/xml or application/json This option will override what may be configured on a parent level

put org.apache.camel.model.rest.PutDefinition[]
securityDefinitions object

To configure rest security definitions.

6 nested properties
apiKey object

Rest security basic auth definition

basicAuth object

Rest security basic auth definition

bearerToken object

Rest security bearer token authentication definition

mutualTLS object

Rest security mutual TLS authentication definition

oauth2 object

Rest security OAuth2 definition

openIdConnect object

Rest security OpenID Connect definition

securityRequirements org.apache.camel.model.rest.SecurityDefinition[]

Sets the security requirement(s) for all endpoints.

skipBindingOnErrorCode boolean

Whether to skip binding on output if there is a custom HTTP error code header. This allows to build custom error messages that do not bind to json / xml etc, as success messages otherwise will do. This option will override what may be configured on a parent level

Default: false
tag string

To configure a special tag for the operations within this rest definition.

transformers object

To configure transformers.

4 nested properties
customTransformer object

To use a custom transformer on a route level.

6 nested properties
className string

Set a class name of the Transformer

fromType string

Set the 'from' data type name. If you specify 'xml:XYZ', the transformer will be picked up if source type is 'xml:XYZ'. If you specify just 'xml', the transformer matches with all of 'xml' source type like 'xml:ABC' or 'xml:DEF'.

name string

Set the transformer name under which the transformer gets referenced when specifying the input/output data type on routes. If you specify a transformer name that matches a data type scheme like 'csv' the transformer will be picked up for all of 'csv:' from/to Java transformation. Note that the scheme matching is performed only when no exactly matched transformer exists.

ref string

Set a bean reference of the Transformer

scheme string

Set a scheme name supported by the transformer. If you specify 'csv', the transformer will be picked up for all of 'csv' from/to Java transformation. Note that the scheme matching is performed only when no exactly matched transformer exists.

toType string

Set the 'to' data type name. If you specify 'json:XYZ', the transformer will be picked up if destination type is 'json:XYZ'. If you specify just 'json', the transformer matches with all of 'json' destination type like 'json:ABC' or 'json:DEF'.

dataFormatTransformer object

Represents a org.apache.camel.processor.transformer.DataFormatTransformer which leverages org.apache.camel.spi.DataFormat to perform transformation. One of the DataFormat 'ref' or DataFormat 'type' needs to be specified.

Any of: object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object | object
50 nested properties
fromType string

Set the 'from' data type name. If you specify 'xml:XYZ', the transformer will be picked up if source type is 'xml:XYZ'. If you specify just 'xml', the transformer matches with all of 'xml' source type like 'xml:ABC' or 'xml:DEF'.

name string

Set the transformer name under which the transformer gets referenced when specifying the input/output data type on routes. If you specify a transformer name that matches a data type scheme like 'csv' the transformer will be picked up for all of 'csv:' from/to Java transformation. Note that the scheme matching is performed only when no exactly matched transformer exists.

scheme string

Set a scheme name supported by the transformer. If you specify 'csv', the transformer will be picked up for all of 'csv' from/to Java transformation. Note that the scheme matching is performed only when no exactly matched transformer exists.

toType string

Set the 'to' data type name. If you specify 'json:XYZ', the transformer will be picked up if destination type is 'json:XYZ'. If you specify just 'json', the transformer matches with all of 'json' destination type like 'json:ABC' or 'json:DEF'.

asn1
avro
barcode
base64
beanio
bindy
cbor
crypto
csv
custom
dfdl
fhirJson
fhirXml
flatpack
fory
grok
groovyJson
groovyXml
gzipDeflater
hl7
ical
iso8583
jacksonXml
jaxb
json
jsonApi
lzf
mimeMultipart
parquetAvro
pgp
protobuf
rss
smooks
soap
swiftMt
swiftMx
syslog
tarFile
thrift
univocityCsv
univocityFixed
univocityTsv
xmlSecurity
yaml
zipDeflater
zipFile
endpointTransformer object

To use a Camel endpoint to perform transformation on the route level.

6 nested properties
fromType string

Set the 'from' data type name. If you specify 'xml:XYZ', the transformer will be picked up if source type is 'xml:XYZ'. If you specify just 'xml', the transformer matches with all of 'xml' source type like 'xml:ABC' or 'xml:DEF'.

name string

Set the transformer name under which the transformer gets referenced when specifying the input/output data type on routes. If you specify a transformer name that matches a data type scheme like 'csv' the transformer will be picked up for all of 'csv:' from/to Java transformation. Note that the scheme matching is performed only when no exactly matched transformer exists.

ref string

Set the reference of the Endpoint.

scheme string

Set a scheme name supported by the transformer. If you specify 'csv', the transformer will be picked up for all of 'csv' from/to Java transformation. Note that the scheme matching is performed only when no exactly matched transformer exists.

toType string

Set the 'to' data type name. If you specify 'json:XYZ', the transformer will be picked up if destination type is 'json:XYZ'. If you specify just 'json', the transformer matches with all of 'json' destination type like 'json:ABC' or 'json:DEF'.

uri string

Set the URI of the Endpoint.

loadTransformer object

To load custom transformers from classpath scanning to be used for route level transformations.

6 nested properties
defaults boolean

Enable loading of default transformers.

Default: false
fromType string

Set the 'from' data type name. If you specify 'xml:XYZ', the transformer will be picked up if source type is 'xml:XYZ'. If you specify just 'xml', the transformer matches with all of 'xml' source type like 'xml:ABC' or 'xml:DEF'.

name string

Set the transformer name under which the transformer gets referenced when specifying the input/output data type on routes. If you specify a transformer name that matches a data type scheme like 'csv' the transformer will be picked up for all of 'csv:' from/to Java transformation. Note that the scheme matching is performed only when no exactly matched transformer exists.

packageScan string

Set the classpath location to scan for annotated transformers.

scheme string

Set a scheme name supported by the transformer. If you specify 'csv', the transformer will be picked up for all of 'csv' from/to Java transformation. Note that the scheme matching is performed only when no exactly matched transformer exists.

toType string

Set the 'to' data type name. If you specify 'json:XYZ', the transformer will be picked up if destination type is 'json:XYZ'. If you specify just 'json', the transformer matches with all of 'json' destination type like 'json:ABC' or 'json:DEF'.

validators object

To configure validators.

3 nested properties
customValidator object

To use a custom validator on the route level.

3 nested properties
className string

Set a class name of the Validator

ref string

Set a bean reference of the Validator

type string

Set the data type name. If you specify 'xml:XYZ', the validator will be picked up if message type is 'xml:XYZ'. If you specify just 'xml', the validator matches with all of 'xml' message type like 'xml:ABC' or 'xml:DEF'.

endpointValidator object

To use a Camel endpoint to perform validation on the route level.

3 nested properties
ref string

Set the reference of the Endpoint.

type string

Set the data type name. If you specify 'xml:XYZ', the validator will be picked up if message type is 'xml:XYZ'. If you specify just 'xml', the validator matches with all of 'xml' message type like 'xml:ABC' or 'xml:DEF'.

uri string

Set the URI of the Endpoint.

predicateValidator object

To use a predicate to perform validation on the route level.

Any of: object object
2 nested properties
type string

Set the data type name. If you specify 'xml:XYZ', the validator will be picked up if message type is 'xml:XYZ'. If you specify just 'xml', the validator matches with all of 'xml' message type like 'xml:ABC' or 'xml:DEF'.

expression