This example illustrates how to use Spring Boot with Camel. It provides a simple REST service that is created with Camel REST DSL and documented with OpenApi.
The project uses the camel-spring-boot-starter dependency, a Spring Boot starter dependency for Camel that simplifies the Maven configuration.
The project also uses camel-servlet component as the HTTP transport component for Camel REST DSL.
You can run this example using:
$ mvn spring-boot:run
You should see the following output when the application is launched:
...
[INFO] --- spring-boot:4.1.1:run (default-cli) @ camel-example-spring-boot-rest-openapi ---
[...]
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v4.1.1)
2026-09-04T10:13:59.681+02:00 INFO 26229 --- [ main] o.s.boot.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/'
2026-09-04T10:13:59.872+02:00 INFO 26229 --- [ main] o.a.c.impl.engine.AbstractCamelContext : Apache Camel 4.23.0-SNAPSHOT (MyCamel) is starting
2026-09-04T10:13:59.913+02:00 INFO 26229 --- [ main] o.a.c.impl.engine.AbstractCamelContext : Routes startup (total:4 rest-dsl:4)
2026-09-04T10:13:59.913+02:00 INFO 26229 --- [ main] o.a.c.impl.engine.AbstractCamelContext : Apache Camel 4.23.0-SNAPSHOT (MyCamel) started in 41ms (build:0ms init:0ms start:41ms boot:586ms)
2026-09-04T10:13:59.915+02:00 INFO 26229 --- [ main] o.a.c.example.springboot.Application : Started Application in 1.476 seconds (process running for 1.63)After the Spring Boot application is started, you can open the following URL in your web browser to access the REST endpoint and retrieve a list of users: http://localhost:8080/api/users
You can also access the REST endpoint from the command line:
$ curl http://localhost:8080/api/usersThe command will produce the following output:
[ {
"id" : 1,
"name" : "John Coltrane"
}, {
"id" : 2,
"name" : "Miles Davis"
}, {
"id" : 3,
"name" : "Sonny Rollins"
} ]The OpenApi documentation is located at: http://localhost:8080/api/api-doc and can be retrieved with the following command:
$ curl http://localhost:8080/api/api-docThe Spring Boot application can be stopped pressing [CTRL] + [C] in the shell.
The actuator is available at: http://localhost:8080/actuator such as metrics for Prometheus: http://localhost:8080/actuator/prometheus.
If you hit any problem using Camel or have some feedback, then please let us know.
We also love contributors, so get involved :-)
The Camel riders!