// spring-boot-auto-configure options: START
:page-partial:
:doctitle: Camel Spring Boot Starter for jsonapi

== Spring Boot Auto-Configuration

When using jsonapi with Spring Boot make sure to use the following Maven dependency to have support for auto configuration:

[source,xml]
----
<dependency>
  <groupId>org.apache.camel.springboot</groupId>
  <artifactId>camel-jsonapi-starter</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel core version -->
</dependency>
----


The component supports 3 options, which are listed below.



[width="100%",cols="2,5,^1,2",options="header"]
|===
| Name | Description | Default | Type
| *camel.dataformat.jsonapi.data-format-types* | The classes to take into account for the marshalling |  | Class[]
| *camel.dataformat.jsonapi.enabled* | Whether to enable auto configuration of the jsonApi data format. This is enabled by default. |  | Boolean
| *camel.dataformat.jsonapi.main-format-type* | The classes to take into account while unmarshalling |  | Class
|===
// spring-boot-auto-configure options: END
