You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2016/12/23 14:49:20 UTC

[3/3] camel git commit: CAMEL-10633: Data formats marshal to xml/json now set content-type header by default.

CAMEL-10633: Data formats marshal to xml/json now set content-type header by default.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/28152825
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/28152825
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/28152825

Branch: refs/heads/master
Commit: 2815282561ed1ad5d0de4ddb70eb8ed288a2a667
Parents: af22f50
Author: Claus Ibsen <da...@apache.org>
Authored: Fri Dec 23 15:48:51 2016 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Fri Dec 23 15:48:51 2016 +0100

----------------------------------------------------------------------
 camel-core/src/main/docs/gzip-dataformat.adoc   |  12 ++-
 .../src/main/docs/serialization-dataformat.adoc |  12 ++-
 camel-core/src/main/docs/string-dataformat.adoc |   3 +-
 camel-core/src/main/docs/zip-dataformat.adoc    |   3 +-
 .../camel/model/DataFormatDefinition.java       |  27 +++++
 .../springboot/AvroDataFormatConfiguration.java |  15 +++
 .../BarcodeDataFormatConfiguration.java         |  15 +++
 .../Base64DataFormatConfiguration.java          |  15 +++
 .../BeanIODataFormatConfiguration.java          |  15 +++
 .../BindyCsvDataFormatConfiguration.java        |  15 +++
 ...BindyFixedLengthDataFormatConfiguration.java |  15 +++
 ...indyKeyValuePairDataFormatConfiguration.java |  15 +++
 .../springboot/BoonDataFormatConfiguration.java |  15 +++
 .../CastorDataFormatConfiguration.java          |  15 +++
 .../springboot/GzipDataFormatConfiguration.java |  16 +++
 .../SerializationDataFormatConfiguration.java   |  16 +++
 .../StringDataFormatConfiguration.java          |  15 +++
 .../springboot/ZipDataFormatConfiguration.java  |  15 +++
 .../CryptoDataFormatConfiguration.java          |  15 +++
 .../springboot/PGPDataFormatConfiguration.java  |  15 +++
 .../springboot/CsvDataFormatConfiguration.java  |  15 +++
 .../FlatpackDataFormatConfiguration.java        |  15 +++
 .../springboot/GsonDataFormatConfiguration.java |  15 +++
 .../HessianDataFormatConfiguration.java         |  16 +++
 .../springboot/HL7DataFormatConfiguration.java  |  15 +++
 .../springboot/ICalDataFormatConfiguration.java |  15 +++
 .../JacksonDataFormatConfiguration.java         |  15 +++
 .../JacksonXMLDataFormatConfiguration.java      |  15 +++
 .../springboot/JaxbDataFormatConfiguration.java |  15 +++
 .../springboot/JibxDataFormatConfiguration.java |  15 +++
 .../JohnzonDataFormatConfiguration.java         |  15 +++
 .../springboot/LZFDataFormatConfiguration.java  |  15 +++
 .../MimeMultipartDataFormatConfiguration.java   |  15 +++
 .../ProtobufDataFormatConfiguration.java        |  15 +++
 .../springboot/RssDataFormatConfiguration.java  |  16 +++
 .../SnakeYAMLDataFormatConfiguration.java       |  15 +++
 .../SoapJaxbDataFormatConfiguration.java        |  15 +++
 .../SyslogDataFormatConfiguration.java          |  16 +++
 .../TidyMarkupDataFormatConfiguration.java      |  15 +++
 .../TarFileDataFormatConfiguration.java         |  15 +++
 .../UniVocityCsvDataFormatConfiguration.java    |  15 +++
 ...VocityFixedWidthDataFormatConfiguration.java |  15 +++
 .../UniVocityTsvDataFormatConfiguration.java    |  15 +++
 .../XmlBeansDataFormatConfiguration.java        |  15 +++
 .../XmlJsonDataFormatConfiguration.java         |  15 +++
 .../XmlRpcDataFormatConfiguration.java          |  15 +++
 .../XMLSecurityDataFormatConfiguration.java     |  15 +++
 .../springboot/JsonDataFormatConfiguration.java |  15 +++
 .../XStreamDataFormatConfiguration.java         |  15 +++
 .../ZipFileDataFormatConfiguration.java         |  15 +++
 .../src/main/docs/avro-dataformat.adoc          |   3 +-
 .../src/main/docs/barcode-dataformat.adoc       |   3 +-
 .../src/main/docs/base64-dataformat.adoc        |   3 +-
 .../src/main/docs/beanio-dataformat.adoc        |   3 +-
 .../src/main/docs/bindy-dataformat.adoc         |   3 +-
 .../src/main/docs/boon-dataformat.adoc          |   3 +-
 .../src/main/docs/castor-dataformat.adoc        |   3 +-
 .../castor/AbstractCastorDataFormat.java        |  21 ++++
 .../src/main/docs/crypto-dataformat.adoc        |   3 +-
 .../src/main/docs/pgp-dataformat.adoc           |   3 +-
 .../camel-csv/src/main/docs/csv-dataformat.adoc |   3 +-
 .../src/main/docs/flatpack-dataformat.adoc      |   3 +-
 .../src/main/docs/json-gson-dataformat.adoc     |   3 +-
 .../camel/component/gson/GsonDataFormat.java    |  21 ++++
 .../src/main/docs/hessian-dataformat.adoc       |  12 ++-
 .../camel-hl7/src/main/docs/hl7-dataformat.adoc |   3 +-
 .../src/main/docs/ical-dataformat.adoc          |   3 +-
 .../src/main/docs/json-jackson-dataformat.adoc  |   3 +-
 .../component/jackson/JacksonDataFormat.java    |  20 ++++
 .../JacksonMarshalContentTypeHeaderTest.java    | 100 +++++++++++++++++++
 .../src/main/docs/jacksonxml-dataformat.adoc    |   3 +-
 .../jacksonxml/JacksonXMLDataFormat.java        |  20 ++++
 .../JacksonMarshalContentTypeHeaderTest.java    |  99 ++++++++++++++++++
 .../src/main/docs/jaxb-dataformat.adoc          |   3 +-
 .../camel/converter/jaxb/JaxbDataFormat.java    |  20 ++++
 .../org/apache/camel/jaxb/CamelJaxbTest.java    |   3 +
 .../src/main/docs/jibx-dataformat.adoc          |   3 +-
 .../camel/dataformat/jibx/JibxDataFormat.java   |  23 ++++-
 .../src/main/docs/json-johnzon-dataformat.adoc  |   3 +-
 .../camel-lzf/src/main/docs/lzf-dataformat.adoc |   3 +-
 .../main/docs/mime-multipart-dataformat.adoc    |   3 +-
 .../src/main/docs/protobuf-dataformat.adoc      |   3 +-
 .../camel-rss/src/main/docs/rss-dataformat.adoc |  12 ++-
 .../main/docs/yaml-snakeyaml-dataformat.adoc    |   3 +-
 .../src/main/docs/soapjaxb-dataformat.adoc      |   3 +-
 .../src/main/docs/syslog-dataformat.adoc        |  12 ++-
 .../src/main/docs/tidyMarkup-dataformat.adoc    |   3 +-
 .../src/main/docs/tarfile-dataformat.adoc       |   3 +-
 .../src/main/docs/univocity-csv-dataformat.adoc |   3 +-
 .../main/docs/univocity-fixed-dataformat.adoc   |   3 +-
 .../src/main/docs/univocity-tsv-dataformat.adoc |   3 +-
 .../src/main/docs/xmlBeans-dataformat.adoc      |   3 +-
 .../converter/xmlbeans/XmlBeansConverter.java   |   3 -
 .../converter/xmlbeans/XmlBeansDataFormat.java  |  22 ++++
 .../src/main/docs/xmljson-dataformat.adoc       |   3 +-
 .../dataformat/xmljson/XmlJsonDataFormat.java   |  33 +++++-
 .../xmljson/XmlJsonDataFormatTest.java          |   3 +
 .../src/main/docs/xmlrpc-dataformat.adoc        |   3 +-
 .../src/main/docs/secureXML-dataformat.adoc     |   3 +-
 .../src/main/docs/json-xstream-dataformat.adoc  |   3 +-
 .../src/main/docs/xstream-dataformat.adoc       |   3 +-
 .../xstream/AbstractXStreamWrapper.java         |  14 +++
 .../dataformat/xstream/JsonDataFormat.java      |  13 +++
 .../dataformat/xstream/XStreamDataFormat.java   |  13 +++
 .../src/main/docs/zipfile-dataformat.adoc       |   3 +-
 105 files changed, 1261 insertions(+), 48 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/camel-core/src/main/docs/gzip-dataformat.adoc
----------------------------------------------------------------------
diff --git a/camel-core/src/main/docs/gzip-dataformat.adoc b/camel-core/src/main/docs/gzip-dataformat.adoc
index d93f1a4..d6c9196 100644
--- a/camel-core/src/main/docs/gzip-dataformat.adoc
+++ b/camel-core/src/main/docs/gzip-dataformat.adoc
@@ -17,7 +17,17 @@ Options
 ^^^^^^^
 
 // dataformat options: START
-The GZip dataformat has no options.
+The GZip dataformat supports 1 options which are listed below.
+
+
+
+{% raw %}
+[width="100%",cols="2s,1m,1m,6",options="header"]
+|=======================================================================
+| Name | Default | Java Type | Description
+| contentTypeHeader | false | Boolean | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML or application/json for data formats marshalling to JSon etc.
+|=======================================================================
+{% endraw %}
 // dataformat options: END
 
 [[GZipdataformat-Marshal]]

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/camel-core/src/main/docs/serialization-dataformat.adoc
----------------------------------------------------------------------
diff --git a/camel-core/src/main/docs/serialization-dataformat.adoc b/camel-core/src/main/docs/serialization-dataformat.adoc
index 184326f..f15fa0f 100644
--- a/camel-core/src/main/docs/serialization-dataformat.adoc
+++ b/camel-core/src/main/docs/serialization-dataformat.adoc
@@ -20,7 +20,17 @@ Options
 ^^^^^^^
 
 // dataformat options: START
-The Java Object Serialization dataformat has no options.
+The Java Object Serialization dataformat supports 1 options which are listed below.
+
+
+
+{% raw %}
+[width="100%",cols="2s,1m,1m,6",options="header"]
+|=======================================================================
+| Name | Default | Java Type | Description
+| contentTypeHeader | false | Boolean | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML or application/json for data formats marshalling to JSon etc.
+|=======================================================================
+{% endraw %}
 // dataformat options: END
 
 [[Serialization-Dependencies]]

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/camel-core/src/main/docs/string-dataformat.adoc
----------------------------------------------------------------------
diff --git a/camel-core/src/main/docs/string-dataformat.adoc b/camel-core/src/main/docs/string-dataformat.adoc
index 2ccf0c8..b531813 100644
--- a/camel-core/src/main/docs/string-dataformat.adoc
+++ b/camel-core/src/main/docs/string-dataformat.adoc
@@ -10,7 +10,7 @@ Options
 ^^^^^^^
 
 // dataformat options: START
-The String Encoding dataformat supports 1 options which are listed below.
+The String Encoding dataformat supports 2 options which are listed below.
 
 
 
@@ -19,6 +19,7 @@ The String Encoding dataformat supports 1 options which are listed below.
 |=======================================================================
 | Name | Default | Java Type | Description
 | charset |  | String | Sets an encoding to use. Will by default use the JVM platform default charset.
+| contentTypeHeader | false | Boolean | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML or application/json for data formats marshalling to JSon etc.
 |=======================================================================
 {% endraw %}
 // dataformat options: END

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/camel-core/src/main/docs/zip-dataformat.adoc
----------------------------------------------------------------------
diff --git a/camel-core/src/main/docs/zip-dataformat.adoc b/camel-core/src/main/docs/zip-dataformat.adoc
index f63bb2e..926a348 100644
--- a/camel-core/src/main/docs/zip-dataformat.adoc
+++ b/camel-core/src/main/docs/zip-dataformat.adoc
@@ -21,7 +21,7 @@ Options
 ^^^^^^^
 
 // dataformat options: START
-The Zip Deflate Compression dataformat supports 1 options which are listed below.
+The Zip Deflate Compression dataformat supports 2 options which are listed below.
 
 
 
@@ -30,6 +30,7 @@ The Zip Deflate Compression dataformat supports 1 options which are listed below
 |=======================================================================
 | Name | Default | Java Type | Description
 | compressionLevel | -1 | Integer | To specify a specific compression between 0-9. -1 is default compression 0 is no compression and 9 is best compression.
+| contentTypeHeader | false | Boolean | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML or application/json for data formats marshalling to JSon etc.
 |=======================================================================
 {% endraw %}
 // dataformat options: END

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/camel-core/src/main/java/org/apache/camel/model/DataFormatDefinition.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/model/DataFormatDefinition.java b/camel-core/src/main/java/org/apache/camel/model/DataFormatDefinition.java
index acf8223..06eeb19 100644
--- a/camel-core/src/main/java/org/apache/camel/model/DataFormatDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/DataFormatDefinition.java
@@ -20,6 +20,7 @@ import java.util.Map;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAnyAttribute;
+import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlTransient;
 import javax.xml.bind.annotation.XmlType;
 import javax.xml.namespace.QName;
@@ -47,6 +48,8 @@ public class DataFormatDefinition extends IdentifiedType implements OtherAttribu
     // use xs:any to support optional property placeholders
     @XmlAnyAttribute
     private Map<QName, Object> otherAttributes;
+    @XmlAttribute
+    private Boolean contentTypeHeader;
 
     public DataFormatDefinition() {
     }
@@ -102,6 +105,15 @@ public class DataFormatDefinition extends IdentifiedType implements OtherAttribu
             try {
                 dataFormat = createDataFormat(routeContext);
                 if (dataFormat != null) {
+                    // is enabled by default so assume true if null
+                    if (contentTypeHeader == null || contentTypeHeader) {
+                        try {
+                            setProperty(routeContext.getCamelContext(), dataFormat, "contentTypeHeader", Boolean.TRUE);
+                        } catch (Exception e) {
+                            // ignore as this option is optional and not all data formats support this
+                        }
+                    }
+                    // configure the rest of the options
                     configureDataFormat(dataFormat, routeContext.getCamelContext());
                 } else {
                     throw new IllegalArgumentException(
@@ -194,6 +206,21 @@ public class DataFormatDefinition extends IdentifiedType implements OtherAttribu
         this.otherAttributes = otherAttributes;
     }
 
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    /**
+     * Whether the data format should set the <tt>Content-Type</tt> header with the type from the data format if the
+     * data format is capable of doing so.
+     * <p/>
+     * For example <tt>application/xml</tt> for data formats marshalling to XML, or <tt>application/json</tt>
+     * for data formats marshalling to JSon etc.
+     */
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
+
     public String getShortName() {
         String name = getClass().getSimpleName();
         if (name.endsWith("DataFormat")) {

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-avro-starter/src/main/java/org/apache/camel/dataformat/avro/springboot/AvroDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-avro-starter/src/main/java/org/apache/camel/dataformat/avro/springboot/AvroDataFormatConfiguration.java b/components-starter/camel-avro-starter/src/main/java/org/apache/camel/dataformat/avro/springboot/AvroDataFormatConfiguration.java
index 517051c..2f5a6a0 100644
--- a/components-starter/camel-avro-starter/src/main/java/org/apache/camel/dataformat/avro/springboot/AvroDataFormatConfiguration.java
+++ b/components-starter/camel-avro-starter/src/main/java/org/apache/camel/dataformat/avro/springboot/AvroDataFormatConfiguration.java
@@ -30,6 +30,13 @@ public class AvroDataFormatConfiguration {
      * Class name to use for marshal and unmarshalling
      */
     private String instanceClassName;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public String getInstanceClassName() {
         return instanceClassName;
@@ -38,4 +45,12 @@ public class AvroDataFormatConfiguration {
     public void setInstanceClassName(String instanceClassName) {
         this.instanceClassName = instanceClassName;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-barcode-starter/src/main/java/org/apache/camel/dataformat/barcode/springboot/BarcodeDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-barcode-starter/src/main/java/org/apache/camel/dataformat/barcode/springboot/BarcodeDataFormatConfiguration.java b/components-starter/camel-barcode-starter/src/main/java/org/apache/camel/dataformat/barcode/springboot/BarcodeDataFormatConfiguration.java
index 2d0f624..1cdb0c1 100644
--- a/components-starter/camel-barcode-starter/src/main/java/org/apache/camel/dataformat/barcode/springboot/BarcodeDataFormatConfiguration.java
+++ b/components-starter/camel-barcode-starter/src/main/java/org/apache/camel/dataformat/barcode/springboot/BarcodeDataFormatConfiguration.java
@@ -42,6 +42,13 @@ public class BarcodeDataFormatConfiguration {
      * Barcode format such as QR-Code
      */
     private String barcodeFormat;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public Integer getWidth() {
         return width;
@@ -74,4 +81,12 @@ public class BarcodeDataFormatConfiguration {
     public void setBarcodeFormat(String barcodeFormat) {
         this.barcodeFormat = barcodeFormat;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-base64-starter/src/main/java/org/apache/camel/dataformat/base64/springboot/Base64DataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-base64-starter/src/main/java/org/apache/camel/dataformat/base64/springboot/Base64DataFormatConfiguration.java b/components-starter/camel-base64-starter/src/main/java/org/apache/camel/dataformat/base64/springboot/Base64DataFormatConfiguration.java
index 2dccf9d..26bda5e 100644
--- a/components-starter/camel-base64-starter/src/main/java/org/apache/camel/dataformat/base64/springboot/Base64DataFormatConfiguration.java
+++ b/components-starter/camel-base64-starter/src/main/java/org/apache/camel/dataformat/base64/springboot/Base64DataFormatConfiguration.java
@@ -41,6 +41,13 @@ public class Base64DataFormatConfiguration {
      * modes. Is by default false.
      */
     private Boolean urlSafe = false;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public Integer getLineLength() {
         return lineLength;
@@ -65,4 +72,12 @@ public class Base64DataFormatConfiguration {
     public void setUrlSafe(Boolean urlSafe) {
         this.urlSafe = urlSafe;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-beanio-starter/src/main/java/org/apache/camel/dataformat/beanio/springboot/BeanIODataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-beanio-starter/src/main/java/org/apache/camel/dataformat/beanio/springboot/BeanIODataFormatConfiguration.java b/components-starter/camel-beanio-starter/src/main/java/org/apache/camel/dataformat/beanio/springboot/BeanIODataFormatConfiguration.java
index 5c4b9ec..2f1922d 100644
--- a/components-starter/camel-beanio-starter/src/main/java/org/apache/camel/dataformat/beanio/springboot/BeanIODataFormatConfiguration.java
+++ b/components-starter/camel-beanio-starter/src/main/java/org/apache/camel/dataformat/beanio/springboot/BeanIODataFormatConfiguration.java
@@ -60,6 +60,13 @@ public class BeanIODataFormatConfiguration {
      * you use a custom error handler.
      */
     private String beanReaderErrorHandlerType;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public String getMapping() {
         return mapping;
@@ -116,4 +123,12 @@ public class BeanIODataFormatConfiguration {
     public void setBeanReaderErrorHandlerType(String beanReaderErrorHandlerType) {
         this.beanReaderErrorHandlerType = beanReaderErrorHandlerType;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/csv/springboot/BindyCsvDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/csv/springboot/BindyCsvDataFormatConfiguration.java b/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/csv/springboot/BindyCsvDataFormatConfiguration.java
index b249e17..0327be2 100644
--- a/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/csv/springboot/BindyCsvDataFormatConfiguration.java
+++ b/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/csv/springboot/BindyCsvDataFormatConfiguration.java
@@ -41,6 +41,13 @@ public class BindyCsvDataFormatConfiguration {
      * the JVM platform default locale then use the name default
      */
     private String locale;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public BindyType getType() {
         return type;
@@ -65,4 +72,12 @@ public class BindyCsvDataFormatConfiguration {
     public void setLocale(String locale) {
         this.locale = locale;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/fixed/springboot/BindyFixedLengthDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/fixed/springboot/BindyFixedLengthDataFormatConfiguration.java b/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/fixed/springboot/BindyFixedLengthDataFormatConfiguration.java
index 8931068..d852707 100644
--- a/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/fixed/springboot/BindyFixedLengthDataFormatConfiguration.java
+++ b/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/fixed/springboot/BindyFixedLengthDataFormatConfiguration.java
@@ -41,6 +41,13 @@ public class BindyFixedLengthDataFormatConfiguration {
      * the JVM platform default locale then use the name default
      */
     private String locale;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public BindyType getType() {
         return type;
@@ -65,4 +72,12 @@ public class BindyFixedLengthDataFormatConfiguration {
     public void setLocale(String locale) {
         this.locale = locale;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/kvp/springboot/BindyKeyValuePairDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/kvp/springboot/BindyKeyValuePairDataFormatConfiguration.java b/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/kvp/springboot/BindyKeyValuePairDataFormatConfiguration.java
index b30ed96..e8d6b2b 100644
--- a/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/kvp/springboot/BindyKeyValuePairDataFormatConfiguration.java
+++ b/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/kvp/springboot/BindyKeyValuePairDataFormatConfiguration.java
@@ -41,6 +41,13 @@ public class BindyKeyValuePairDataFormatConfiguration {
      * the JVM platform default locale then use the name default
      */
     private String locale;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public BindyType getType() {
         return type;
@@ -65,4 +72,12 @@ public class BindyKeyValuePairDataFormatConfiguration {
     public void setLocale(String locale) {
         this.locale = locale;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-boon-starter/src/main/java/org/apache/camel/component/boon/springboot/BoonDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-boon-starter/src/main/java/org/apache/camel/component/boon/springboot/BoonDataFormatConfiguration.java b/components-starter/camel-boon-starter/src/main/java/org/apache/camel/component/boon/springboot/BoonDataFormatConfiguration.java
index 0763000..9832694 100644
--- a/components-starter/camel-boon-starter/src/main/java/org/apache/camel/component/boon/springboot/BoonDataFormatConfiguration.java
+++ b/components-starter/camel-boon-starter/src/main/java/org/apache/camel/component/boon/springboot/BoonDataFormatConfiguration.java
@@ -34,6 +34,13 @@ public class BoonDataFormatConfiguration {
      * To unarmshal to a List of Map or a List of Pojo.
      */
     private Boolean useList = false;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public String getUnmarshalTypeName() {
         return unmarshalTypeName;
@@ -50,4 +57,12 @@ public class BoonDataFormatConfiguration {
     public void setUseList(Boolean useList) {
         this.useList = useList;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-castor-starter/src/main/java/org/apache/camel/dataformat/castor/springboot/CastorDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-castor-starter/src/main/java/org/apache/camel/dataformat/castor/springboot/CastorDataFormatConfiguration.java b/components-starter/camel-castor-starter/src/main/java/org/apache/camel/dataformat/castor/springboot/CastorDataFormatConfiguration.java
index 8d7b69f..7f566af 100644
--- a/components-starter/camel-castor-starter/src/main/java/org/apache/camel/dataformat/castor/springboot/CastorDataFormatConfiguration.java
+++ b/components-starter/camel-castor-starter/src/main/java/org/apache/camel/dataformat/castor/springboot/CastorDataFormatConfiguration.java
@@ -46,6 +46,13 @@ public class CastorDataFormatConfiguration {
      * Add additional class names to Castor XmlContext
      */
     private String[] classes;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public String getMappingFile() {
         return mappingFile;
@@ -86,4 +93,12 @@ public class CastorDataFormatConfiguration {
     public void setClasses(String[] classes) {
         this.classes = classes;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-core-starter/src/main/java/org/apache/camel/impl/springboot/GzipDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/impl/springboot/GzipDataFormatConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/impl/springboot/GzipDataFormatConfiguration.java
index bcbd9cd..4953a5c 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/impl/springboot/GzipDataFormatConfiguration.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/impl/springboot/GzipDataFormatConfiguration.java
@@ -25,4 +25,20 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
  */
 @ConfigurationProperties(prefix = "camel.dataformat.gzip")
 public class GzipDataFormatConfiguration {
+
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-core-starter/src/main/java/org/apache/camel/impl/springboot/SerializationDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/impl/springboot/SerializationDataFormatConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/impl/springboot/SerializationDataFormatConfiguration.java
index d62fd2d..5cf28d4 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/impl/springboot/SerializationDataFormatConfiguration.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/impl/springboot/SerializationDataFormatConfiguration.java
@@ -25,4 +25,20 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
  */
 @ConfigurationProperties(prefix = "camel.dataformat.serialization")
 public class SerializationDataFormatConfiguration {
+
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-core-starter/src/main/java/org/apache/camel/impl/springboot/StringDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/impl/springboot/StringDataFormatConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/impl/springboot/StringDataFormatConfiguration.java
index c879cf8..aeccfac 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/impl/springboot/StringDataFormatConfiguration.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/impl/springboot/StringDataFormatConfiguration.java
@@ -31,6 +31,13 @@ public class StringDataFormatConfiguration {
      * charset.
      */
     private String charset;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public String getCharset() {
         return charset;
@@ -39,4 +46,12 @@ public class StringDataFormatConfiguration {
     public void setCharset(String charset) {
         this.charset = charset;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-core-starter/src/main/java/org/apache/camel/impl/springboot/ZipDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/impl/springboot/ZipDataFormatConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/impl/springboot/ZipDataFormatConfiguration.java
index 8950916..401acb9 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/impl/springboot/ZipDataFormatConfiguration.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/impl/springboot/ZipDataFormatConfiguration.java
@@ -31,6 +31,13 @@ public class ZipDataFormatConfiguration {
      * 0 is no compression and 9 is best compression.
      */
     private Integer compressionLevel = -1;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public Integer getCompressionLevel() {
         return compressionLevel;
@@ -39,4 +46,12 @@ public class ZipDataFormatConfiguration {
     public void setCompressionLevel(Integer compressionLevel) {
         this.compressionLevel = compressionLevel;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/converter/crypto/springboot/CryptoDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/converter/crypto/springboot/CryptoDataFormatConfiguration.java b/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/converter/crypto/springboot/CryptoDataFormatConfiguration.java
index 57c7e0e..867db4b 100644
--- a/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/converter/crypto/springboot/CryptoDataFormatConfiguration.java
+++ b/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/converter/crypto/springboot/CryptoDataFormatConfiguration.java
@@ -68,6 +68,13 @@ public class CryptoDataFormatConfiguration {
      * encrypted data stream. Is by default false.
      */
     private Boolean inline = false;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public String getAlgorithm() {
         return algorithm;
@@ -140,4 +147,12 @@ public class CryptoDataFormatConfiguration {
     public void setInline(Boolean inline) {
         this.inline = inline;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/converter/crypto/springboot/PGPDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/converter/crypto/springboot/PGPDataFormatConfiguration.java b/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/converter/crypto/springboot/PGPDataFormatConfiguration.java
index 63ce2b5..4e39f7f 100644
--- a/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/converter/crypto/springboot/PGPDataFormatConfiguration.java
+++ b/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/converter/crypto/springboot/PGPDataFormatConfiguration.java
@@ -119,6 +119,13 @@ public class PGPDataFormatConfiguration {
      * signature; otherwise an exception (PGPException) is thrown.
      */
     private String signatureVerificationOption;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public String getKeyUserid() {
         return keyUserid;
@@ -232,4 +239,12 @@ public class PGPDataFormatConfiguration {
             String signatureVerificationOption) {
         this.signatureVerificationOption = signatureVerificationOption;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-csv-starter/src/main/java/org/apache/camel/dataformat/csv/springboot/CsvDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-csv-starter/src/main/java/org/apache/camel/dataformat/csv/springboot/CsvDataFormatConfiguration.java b/components-starter/camel-csv-starter/src/main/java/org/apache/camel/dataformat/csv/springboot/CsvDataFormatConfiguration.java
index 705275f..e07831e 100644
--- a/components-starter/camel-csv-starter/src/main/java/org/apache/camel/dataformat/csv/springboot/CsvDataFormatConfiguration.java
+++ b/components-starter/camel-csv-starter/src/main/java/org/apache/camel/dataformat/csv/springboot/CsvDataFormatConfiguration.java
@@ -123,6 +123,13 @@ public class CsvDataFormatConfiguration {
      * Refers to a custom CsvRecordConverter to lookup from the registry to use.
      */
     private String recordConverterRef;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public String getFormatRef() {
         return formatRef;
@@ -307,4 +314,12 @@ public class CsvDataFormatConfiguration {
     public void setRecordConverterRef(String recordConverterRef) {
         this.recordConverterRef = recordConverterRef;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-flatpack-starter/src/main/java/org/apache/camel/dataformat/flatpack/springboot/FlatpackDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-flatpack-starter/src/main/java/org/apache/camel/dataformat/flatpack/springboot/FlatpackDataFormatConfiguration.java b/components-starter/camel-flatpack-starter/src/main/java/org/apache/camel/dataformat/flatpack/springboot/FlatpackDataFormatConfiguration.java
index e31437b..4d81857 100644
--- a/components-starter/camel-flatpack-starter/src/main/java/org/apache/camel/dataformat/flatpack/springboot/FlatpackDataFormatConfiguration.java
+++ b/components-starter/camel-flatpack-starter/src/main/java/org/apache/camel/dataformat/flatpack/springboot/FlatpackDataFormatConfiguration.java
@@ -62,6 +62,13 @@ public class FlatpackDataFormatConfiguration {
      * characters.
      */
     private Boolean ignoreExtraColumns = false;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public String getParserFactoryRef() {
         return parserFactoryRef;
@@ -126,4 +133,12 @@ public class FlatpackDataFormatConfiguration {
     public void setIgnoreExtraColumns(Boolean ignoreExtraColumns) {
         this.ignoreExtraColumns = ignoreExtraColumns;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-gson-starter/src/main/java/org/apache/camel/component/gson/springboot/GsonDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-gson-starter/src/main/java/org/apache/camel/component/gson/springboot/GsonDataFormatConfiguration.java b/components-starter/camel-gson-starter/src/main/java/org/apache/camel/component/gson/springboot/GsonDataFormatConfiguration.java
index 4e89e3f..ed36e44 100644
--- a/components-starter/camel-gson-starter/src/main/java/org/apache/camel/component/gson/springboot/GsonDataFormatConfiguration.java
+++ b/components-starter/camel-gson-starter/src/main/java/org/apache/camel/component/gson/springboot/GsonDataFormatConfiguration.java
@@ -128,6 +128,13 @@ public class GsonDataFormatConfiguration {
      * only be enabled when desired to be used.
      */
     private Boolean allowUnmarshallType = false;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public String getObjectMapper() {
         return objectMapper;
@@ -256,4 +263,12 @@ public class GsonDataFormatConfiguration {
     public void setAllowUnmarshallType(Boolean allowUnmarshallType) {
         this.allowUnmarshallType = allowUnmarshallType;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-hessian-starter/src/main/java/org/apache/camel/dataformat/hessian/springboot/HessianDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-hessian-starter/src/main/java/org/apache/camel/dataformat/hessian/springboot/HessianDataFormatConfiguration.java b/components-starter/camel-hessian-starter/src/main/java/org/apache/camel/dataformat/hessian/springboot/HessianDataFormatConfiguration.java
index 4a24215..b00d46d 100644
--- a/components-starter/camel-hessian-starter/src/main/java/org/apache/camel/dataformat/hessian/springboot/HessianDataFormatConfiguration.java
+++ b/components-starter/camel-hessian-starter/src/main/java/org/apache/camel/dataformat/hessian/springboot/HessianDataFormatConfiguration.java
@@ -25,4 +25,20 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
  */
 @ConfigurationProperties(prefix = "camel.dataformat.hessian")
 public class HessianDataFormatConfiguration {
+
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-hl7-starter/src/main/java/org/apache/camel/component/hl7/springboot/HL7DataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-hl7-starter/src/main/java/org/apache/camel/component/hl7/springboot/HL7DataFormatConfiguration.java b/components-starter/camel-hl7-starter/src/main/java/org/apache/camel/component/hl7/springboot/HL7DataFormatConfiguration.java
index b2ac0fb..f25f772 100644
--- a/components-starter/camel-hl7-starter/src/main/java/org/apache/camel/component/hl7/springboot/HL7DataFormatConfiguration.java
+++ b/components-starter/camel-hl7-starter/src/main/java/org/apache/camel/component/hl7/springboot/HL7DataFormatConfiguration.java
@@ -30,6 +30,13 @@ public class HL7DataFormatConfiguration {
      * Whether to validate the HL7 message Is by default true.
      */
     private Boolean validate = true;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public Boolean getValidate() {
         return validate;
@@ -38,4 +45,12 @@ public class HL7DataFormatConfiguration {
     public void setValidate(Boolean validate) {
         this.validate = validate;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-ical-starter/src/main/java/org/apache/camel/component/ical/springboot/ICalDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-ical-starter/src/main/java/org/apache/camel/component/ical/springboot/ICalDataFormatConfiguration.java b/components-starter/camel-ical-starter/src/main/java/org/apache/camel/component/ical/springboot/ICalDataFormatConfiguration.java
index bc38d28..88ddfa0 100644
--- a/components-starter/camel-ical-starter/src/main/java/org/apache/camel/component/ical/springboot/ICalDataFormatConfiguration.java
+++ b/components-starter/camel-ical-starter/src/main/java/org/apache/camel/component/ical/springboot/ICalDataFormatConfiguration.java
@@ -30,6 +30,13 @@ public class ICalDataFormatConfiguration {
      * Whether to validate.
      */
     private Boolean validating = false;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public Boolean getValidating() {
         return validating;
@@ -38,4 +45,12 @@ public class ICalDataFormatConfiguration {
     public void setValidating(Boolean validating) {
         this.validating = validating;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-jackson-starter/src/main/java/org/apache/camel/component/jackson/springboot/JacksonDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-jackson-starter/src/main/java/org/apache/camel/component/jackson/springboot/JacksonDataFormatConfiguration.java b/components-starter/camel-jackson-starter/src/main/java/org/apache/camel/component/jackson/springboot/JacksonDataFormatConfiguration.java
index e00a318..862eb38 100644
--- a/components-starter/camel-jackson-starter/src/main/java/org/apache/camel/component/jackson/springboot/JacksonDataFormatConfiguration.java
+++ b/components-starter/camel-jackson-starter/src/main/java/org/apache/camel/component/jackson/springboot/JacksonDataFormatConfiguration.java
@@ -128,6 +128,13 @@ public class JacksonDataFormatConfiguration {
      * only be enabled when desired to be used.
      */
     private Boolean allowUnmarshallType = false;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public String getObjectMapper() {
         return objectMapper;
@@ -256,4 +263,12 @@ public class JacksonDataFormatConfiguration {
     public void setAllowUnmarshallType(Boolean allowUnmarshallType) {
         this.allowUnmarshallType = allowUnmarshallType;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-jacksonxml-starter/src/main/java/org/apache/camel/component/jacksonxml/springboot/JacksonXMLDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-jacksonxml-starter/src/main/java/org/apache/camel/component/jacksonxml/springboot/JacksonXMLDataFormatConfiguration.java b/components-starter/camel-jacksonxml-starter/src/main/java/org/apache/camel/component/jacksonxml/springboot/JacksonXMLDataFormatConfiguration.java
index 75734c0..50c8062 100644
--- a/components-starter/camel-jacksonxml-starter/src/main/java/org/apache/camel/component/jacksonxml/springboot/JacksonXMLDataFormatConfiguration.java
+++ b/components-starter/camel-jacksonxml-starter/src/main/java/org/apache/camel/component/jacksonxml/springboot/JacksonXMLDataFormatConfiguration.java
@@ -107,6 +107,13 @@ public class JacksonXMLDataFormatConfiguration {
      * only be enabled when desired to be used.
      */
     private Boolean allowUnmarshallType = false;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public String getXmlMapper() {
         return xmlMapper;
@@ -219,4 +226,12 @@ public class JacksonXMLDataFormatConfiguration {
     public void setAllowUnmarshallType(Boolean allowUnmarshallType) {
         this.allowUnmarshallType = allowUnmarshallType;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-jaxb-starter/src/main/java/org/apache/camel/converter/jaxb/springboot/JaxbDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-jaxb-starter/src/main/java/org/apache/camel/converter/jaxb/springboot/JaxbDataFormatConfiguration.java b/components-starter/camel-jaxb-starter/src/main/java/org/apache/camel/converter/jaxb/springboot/JaxbDataFormatConfiguration.java
index 267bc12..a980537 100644
--- a/components-starter/camel-jaxb-starter/src/main/java/org/apache/camel/converter/jaxb/springboot/JaxbDataFormatConfiguration.java
+++ b/components-starter/camel-jaxb-starter/src/main/java/org/apache/camel/converter/jaxb/springboot/JaxbDataFormatConfiguration.java
@@ -109,6 +109,13 @@ public class JaxbDataFormatConfiguration {
      * custom JAXB provider properties to be used with the JAXB marshaller.
      */
     private String jaxbProviderProperties;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public String getContextPath() {
         return contextPath;
@@ -237,4 +244,12 @@ public class JaxbDataFormatConfiguration {
     public void setJaxbProviderProperties(String jaxbProviderProperties) {
         this.jaxbProviderProperties = jaxbProviderProperties;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-jibx-starter/src/main/java/org/apache/camel/dataformat/jibx/springboot/JibxDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-jibx-starter/src/main/java/org/apache/camel/dataformat/jibx/springboot/JibxDataFormatConfiguration.java b/components-starter/camel-jibx-starter/src/main/java/org/apache/camel/dataformat/jibx/springboot/JibxDataFormatConfiguration.java
index 3f0742f..47af923 100644
--- a/components-starter/camel-jibx-starter/src/main/java/org/apache/camel/dataformat/jibx/springboot/JibxDataFormatConfiguration.java
+++ b/components-starter/camel-jibx-starter/src/main/java/org/apache/camel/dataformat/jibx/springboot/JibxDataFormatConfiguration.java
@@ -34,6 +34,13 @@ public class JibxDataFormatConfiguration {
      * To use a custom binding factory
      */
     private String bindingName;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public String getUnmarshallClass() {
         return unmarshallClass;
@@ -50,4 +57,12 @@ public class JibxDataFormatConfiguration {
     public void setBindingName(String bindingName) {
         this.bindingName = bindingName;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-johnzon-starter/src/main/java/org/apache/camel/component/johnzon/springboot/JohnzonDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-johnzon-starter/src/main/java/org/apache/camel/component/johnzon/springboot/JohnzonDataFormatConfiguration.java b/components-starter/camel-johnzon-starter/src/main/java/org/apache/camel/component/johnzon/springboot/JohnzonDataFormatConfiguration.java
index d6c73df..a12c22e 100644
--- a/components-starter/camel-johnzon-starter/src/main/java/org/apache/camel/component/johnzon/springboot/JohnzonDataFormatConfiguration.java
+++ b/components-starter/camel-johnzon-starter/src/main/java/org/apache/camel/component/johnzon/springboot/JohnzonDataFormatConfiguration.java
@@ -128,6 +128,13 @@ public class JohnzonDataFormatConfiguration {
      * only be enabled when desired to be used.
      */
     private Boolean allowUnmarshallType = false;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public String getObjectMapper() {
         return objectMapper;
@@ -256,4 +263,12 @@ public class JohnzonDataFormatConfiguration {
     public void setAllowUnmarshallType(Boolean allowUnmarshallType) {
         this.allowUnmarshallType = allowUnmarshallType;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-lzf-starter/src/main/java/org/apache/camel/dataformat/lzf/springboot/LZFDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-lzf-starter/src/main/java/org/apache/camel/dataformat/lzf/springboot/LZFDataFormatConfiguration.java b/components-starter/camel-lzf-starter/src/main/java/org/apache/camel/dataformat/lzf/springboot/LZFDataFormatConfiguration.java
index 14eb87b..9a716b6 100644
--- a/components-starter/camel-lzf-starter/src/main/java/org/apache/camel/dataformat/lzf/springboot/LZFDataFormatConfiguration.java
+++ b/components-starter/camel-lzf-starter/src/main/java/org/apache/camel/dataformat/lzf/springboot/LZFDataFormatConfiguration.java
@@ -30,6 +30,13 @@ public class LZFDataFormatConfiguration {
      * Enable encoding (compress) using multiple processing cores.
      */
     private Boolean usingParallelCompression = false;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public Boolean getUsingParallelCompression() {
         return usingParallelCompression;
@@ -38,4 +45,12 @@ public class LZFDataFormatConfiguration {
     public void setUsingParallelCompression(Boolean usingParallelCompression) {
         this.usingParallelCompression = usingParallelCompression;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-mail-starter/src/main/java/org/apache/camel/dataformat/mime/multipart/springboot/MimeMultipartDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-mail-starter/src/main/java/org/apache/camel/dataformat/mime/multipart/springboot/MimeMultipartDataFormatConfiguration.java b/components-starter/camel-mail-starter/src/main/java/org/apache/camel/dataformat/mime/multipart/springboot/MimeMultipartDataFormatConfiguration.java
index a881a5d..9c2202a 100644
--- a/components-starter/camel-mail-starter/src/main/java/org/apache/camel/dataformat/mime/multipart/springboot/MimeMultipartDataFormatConfiguration.java
+++ b/components-starter/camel-mail-starter/src/main/java/org/apache/camel/dataformat/mime/multipart/springboot/MimeMultipartDataFormatConfiguration.java
@@ -51,6 +51,13 @@ public class MimeMultipartDataFormatConfiguration {
      * binary (true) or Base-64 encoded (false) Default is false.
      */
     private Boolean binaryContent = false;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public String getMultipartSubType() {
         return multipartSubType;
@@ -91,4 +98,12 @@ public class MimeMultipartDataFormatConfiguration {
     public void setBinaryContent(Boolean binaryContent) {
         this.binaryContent = binaryContent;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-protobuf-starter/src/main/java/org/apache/camel/dataformat/protobuf/springboot/ProtobufDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-protobuf-starter/src/main/java/org/apache/camel/dataformat/protobuf/springboot/ProtobufDataFormatConfiguration.java b/components-starter/camel-protobuf-starter/src/main/java/org/apache/camel/dataformat/protobuf/springboot/ProtobufDataFormatConfiguration.java
index f00ae59..02fbd99 100644
--- a/components-starter/camel-protobuf-starter/src/main/java/org/apache/camel/dataformat/protobuf/springboot/ProtobufDataFormatConfiguration.java
+++ b/components-starter/camel-protobuf-starter/src/main/java/org/apache/camel/dataformat/protobuf/springboot/ProtobufDataFormatConfiguration.java
@@ -30,6 +30,13 @@ public class ProtobufDataFormatConfiguration {
      * Name of class to use when unarmshalling
      */
     private String instanceClass;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public String getInstanceClass() {
         return instanceClass;
@@ -38,4 +45,12 @@ public class ProtobufDataFormatConfiguration {
     public void setInstanceClass(String instanceClass) {
         this.instanceClass = instanceClass;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-rss-starter/src/main/java/org/apache/camel/dataformat/rss/springboot/RssDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-rss-starter/src/main/java/org/apache/camel/dataformat/rss/springboot/RssDataFormatConfiguration.java b/components-starter/camel-rss-starter/src/main/java/org/apache/camel/dataformat/rss/springboot/RssDataFormatConfiguration.java
index 2616eba..405e8af 100644
--- a/components-starter/camel-rss-starter/src/main/java/org/apache/camel/dataformat/rss/springboot/RssDataFormatConfiguration.java
+++ b/components-starter/camel-rss-starter/src/main/java/org/apache/camel/dataformat/rss/springboot/RssDataFormatConfiguration.java
@@ -25,4 +25,20 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
  */
 @ConfigurationProperties(prefix = "camel.dataformat.rss")
 public class RssDataFormatConfiguration {
+
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-snakeyaml-starter/src/main/java/org/apache/camel/component/snakeyaml/springboot/SnakeYAMLDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-snakeyaml-starter/src/main/java/org/apache/camel/component/snakeyaml/springboot/SnakeYAMLDataFormatConfiguration.java b/components-starter/camel-snakeyaml-starter/src/main/java/org/apache/camel/component/snakeyaml/springboot/SnakeYAMLDataFormatConfiguration.java
index 588a5da..0bd61ab 100644
--- a/components-starter/camel-snakeyaml-starter/src/main/java/org/apache/camel/component/snakeyaml/springboot/SnakeYAMLDataFormatConfiguration.java
+++ b/components-starter/camel-snakeyaml-starter/src/main/java/org/apache/camel/component/snakeyaml/springboot/SnakeYAMLDataFormatConfiguration.java
@@ -71,6 +71,13 @@ public class SnakeYAMLDataFormatConfiguration {
      * Set the types SnakeYAML is allowed to un-marshall
      */
     private List<YAMLTypeFilterDefinition> typeFilter;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public YAMLLibrary getLibrary() {
         return library;
@@ -152,4 +159,12 @@ public class SnakeYAMLDataFormatConfiguration {
     public void setTypeFilter(List<YAMLTypeFilterDefinition> typeFilter) {
         this.typeFilter = typeFilter;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-soap-starter/src/main/java/org/apache/camel/dataformat/soap/springboot/SoapJaxbDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-soap-starter/src/main/java/org/apache/camel/dataformat/soap/springboot/SoapJaxbDataFormatConfiguration.java b/components-starter/camel-soap-starter/src/main/java/org/apache/camel/dataformat/soap/springboot/SoapJaxbDataFormatConfiguration.java
index 4acfcf1..311d951 100644
--- a/components-starter/camel-soap-starter/src/main/java/org/apache/camel/dataformat/soap/springboot/SoapJaxbDataFormatConfiguration.java
+++ b/components-starter/camel-soap-starter/src/main/java/org/apache/camel/dataformat/soap/springboot/SoapJaxbDataFormatConfiguration.java
@@ -71,6 +71,13 @@ public class SoapJaxbDataFormatConfiguration {
      * You can separate multiple schema files by using the '' character.
      */
     private String schema;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public String getContextPath() {
         return contextPath;
@@ -119,4 +126,12 @@ public class SoapJaxbDataFormatConfiguration {
     public void setSchema(String schema) {
         this.schema = schema;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-syslog-starter/src/main/java/org/apache/camel/component/syslog/springboot/SyslogDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-syslog-starter/src/main/java/org/apache/camel/component/syslog/springboot/SyslogDataFormatConfiguration.java b/components-starter/camel-syslog-starter/src/main/java/org/apache/camel/component/syslog/springboot/SyslogDataFormatConfiguration.java
index 12dec5f..afdc18f 100644
--- a/components-starter/camel-syslog-starter/src/main/java/org/apache/camel/component/syslog/springboot/SyslogDataFormatConfiguration.java
+++ b/components-starter/camel-syslog-starter/src/main/java/org/apache/camel/component/syslog/springboot/SyslogDataFormatConfiguration.java
@@ -25,4 +25,20 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
  */
 @ConfigurationProperties(prefix = "camel.dataformat.syslog")
 public class SyslogDataFormatConfiguration {
+
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-tagsoup-starter/src/main/java/org/apache/camel/dataformat/tagsoup/springboot/TidyMarkupDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-tagsoup-starter/src/main/java/org/apache/camel/dataformat/tagsoup/springboot/TidyMarkupDataFormatConfiguration.java b/components-starter/camel-tagsoup-starter/src/main/java/org/apache/camel/dataformat/tagsoup/springboot/TidyMarkupDataFormatConfiguration.java
index 40b4da7..0e45ec6 100644
--- a/components-starter/camel-tagsoup-starter/src/main/java/org/apache/camel/dataformat/tagsoup/springboot/TidyMarkupDataFormatConfiguration.java
+++ b/components-starter/camel-tagsoup-starter/src/main/java/org/apache/camel/dataformat/tagsoup/springboot/TidyMarkupDataFormatConfiguration.java
@@ -35,6 +35,13 @@ public class TidyMarkupDataFormatConfiguration {
      * When returning a String do we omit the XML declaration in the top.
      */
     private Boolean omitXmlDeclaration = false;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public String getDataObjectType() {
         return dataObjectType;
@@ -51,4 +58,12 @@ public class TidyMarkupDataFormatConfiguration {
     public void setOmitXmlDeclaration(Boolean omitXmlDeclaration) {
         this.omitXmlDeclaration = omitXmlDeclaration;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-tarfile-starter/src/main/java/org/apache/camel/dataformat/tarfile/springboot/TarFileDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-tarfile-starter/src/main/java/org/apache/camel/dataformat/tarfile/springboot/TarFileDataFormatConfiguration.java b/components-starter/camel-tarfile-starter/src/main/java/org/apache/camel/dataformat/tarfile/springboot/TarFileDataFormatConfiguration.java
index 3b87904..87cbeb0 100644
--- a/components-starter/camel-tarfile-starter/src/main/java/org/apache/camel/dataformat/tarfile/springboot/TarFileDataFormatConfiguration.java
+++ b/components-starter/camel-tarfile-starter/src/main/java/org/apache/camel/dataformat/tarfile/springboot/TarFileDataFormatConfiguration.java
@@ -32,6 +32,13 @@ public class TarFileDataFormatConfiguration {
      * in a streaming mode.
      */
     private Boolean usingIterator = false;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public Boolean getUsingIterator() {
         return usingIterator;
@@ -40,4 +47,12 @@ public class TarFileDataFormatConfiguration {
     public void setUsingIterator(Boolean usingIterator) {
         this.usingIterator = usingIterator;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-univocity-parsers-starter/src/main/java/org/apache/camel/dataformat/univocity/springboot/UniVocityCsvDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-univocity-parsers-starter/src/main/java/org/apache/camel/dataformat/univocity/springboot/UniVocityCsvDataFormatConfiguration.java b/components-starter/camel-univocity-parsers-starter/src/main/java/org/apache/camel/dataformat/univocity/springboot/UniVocityCsvDataFormatConfiguration.java
index 8d5545d..6b4bb84 100644
--- a/components-starter/camel-univocity-parsers-starter/src/main/java/org/apache/camel/dataformat/univocity/springboot/UniVocityCsvDataFormatConfiguration.java
+++ b/components-starter/camel-univocity-parsers-starter/src/main/java/org/apache/camel/dataformat/univocity/springboot/UniVocityCsvDataFormatConfiguration.java
@@ -104,6 +104,13 @@ public class UniVocityCsvDataFormatConfiguration {
      * collected). The default value is false
      */
     private Boolean asMap = false;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public Boolean getQuoteAllFields() {
         return quoteAllFields;
@@ -240,4 +247,12 @@ public class UniVocityCsvDataFormatConfiguration {
     public void setAsMap(Boolean asMap) {
         this.asMap = asMap;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-univocity-parsers-starter/src/main/java/org/apache/camel/dataformat/univocity/springboot/UniVocityFixedWidthDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-univocity-parsers-starter/src/main/java/org/apache/camel/dataformat/univocity/springboot/UniVocityFixedWidthDataFormatConfiguration.java b/components-starter/camel-univocity-parsers-starter/src/main/java/org/apache/camel/dataformat/univocity/springboot/UniVocityFixedWidthDataFormatConfiguration.java
index 14ac124..6fada79 100644
--- a/components-starter/camel-univocity-parsers-starter/src/main/java/org/apache/camel/dataformat/univocity/springboot/UniVocityFixedWidthDataFormatConfiguration.java
+++ b/components-starter/camel-univocity-parsers-starter/src/main/java/org/apache/camel/dataformat/univocity/springboot/UniVocityFixedWidthDataFormatConfiguration.java
@@ -101,6 +101,13 @@ public class UniVocityFixedWidthDataFormatConfiguration {
      * collected). The default value is false
      */
     private Boolean asMap = false;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public Boolean getSkipTrailingCharsUntilNewline() {
         return skipTrailingCharsUntilNewline;
@@ -230,4 +237,12 @@ public class UniVocityFixedWidthDataFormatConfiguration {
     public void setAsMap(Boolean asMap) {
         this.asMap = asMap;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-univocity-parsers-starter/src/main/java/org/apache/camel/dataformat/univocity/springboot/UniVocityTsvDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-univocity-parsers-starter/src/main/java/org/apache/camel/dataformat/univocity/springboot/UniVocityTsvDataFormatConfiguration.java b/components-starter/camel-univocity-parsers-starter/src/main/java/org/apache/camel/dataformat/univocity/springboot/UniVocityTsvDataFormatConfiguration.java
index 7c9a66b..110369f 100644
--- a/components-starter/camel-univocity-parsers-starter/src/main/java/org/apache/camel/dataformat/univocity/springboot/UniVocityTsvDataFormatConfiguration.java
+++ b/components-starter/camel-univocity-parsers-starter/src/main/java/org/apache/camel/dataformat/univocity/springboot/UniVocityTsvDataFormatConfiguration.java
@@ -92,6 +92,13 @@ public class UniVocityTsvDataFormatConfiguration {
      * collected). The default value is false
      */
     private Boolean asMap = false;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public String getEscapeChar() {
         return escapeChar;
@@ -204,4 +211,12 @@ public class UniVocityTsvDataFormatConfiguration {
     public void setAsMap(Boolean asMap) {
         this.asMap = asMap;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/28152825/components-starter/camel-xmlbeans-starter/src/main/java/org/apache/camel/converter/xmlbeans/springboot/XmlBeansDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-xmlbeans-starter/src/main/java/org/apache/camel/converter/xmlbeans/springboot/XmlBeansDataFormatConfiguration.java b/components-starter/camel-xmlbeans-starter/src/main/java/org/apache/camel/converter/xmlbeans/springboot/XmlBeansDataFormatConfiguration.java
index 5aed017..eef7b64 100644
--- a/components-starter/camel-xmlbeans-starter/src/main/java/org/apache/camel/converter/xmlbeans/springboot/XmlBeansDataFormatConfiguration.java
+++ b/components-starter/camel-xmlbeans-starter/src/main/java/org/apache/camel/converter/xmlbeans/springboot/XmlBeansDataFormatConfiguration.java
@@ -30,6 +30,13 @@ public class XmlBeansDataFormatConfiguration {
      * To enable pretty printing output nicely formatted. Is by default false.
      */
     private Boolean prettyPrint = false;
+    /**
+     * Whether the data format should set the Content-Type header with the type
+     * from the data format if the data format is capable of doing so. For
+     * example application/xml for data formats marshalling to XML or
+     * application/json for data formats marshalling to JSon etc.
+     */
+    private Boolean contentTypeHeader = false;
 
     public Boolean getPrettyPrint() {
         return prettyPrint;
@@ -38,4 +45,12 @@ public class XmlBeansDataFormatConfiguration {
     public void setPrettyPrint(Boolean prettyPrint) {
         this.prettyPrint = prettyPrint;
     }
+
+    public Boolean getContentTypeHeader() {
+        return contentTypeHeader;
+    }
+
+    public void setContentTypeHeader(Boolean contentTypeHeader) {
+        this.contentTypeHeader = contentTypeHeader;
+    }
 }
\ No newline at end of file