== Spring Boot Example with Camel REST DSL and OpenApi === Introduction This example illustrates how to use https://projects.spring.io/spring-boot/[Spring Boot] with http://camel.apache.org[Camel]. It provides a simple REST service that is created with http://camel.apache.org/rest-dsl.html[Camel REST DSL] and documented with http://swagger.io[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. === Build You can build this example using: $ mvn package === Run You can run this example using: $ mvn spring-boot:run You should see the following output when the application is launched: [source,text] ---- ... [INFO] --- spring-boot-maven-plugin:1.5.10.RELEASE:run (default-cli) @ camel-example-spring-boot-rest-openapi --- [...] . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.0.0.RELEASE) [...] 2017-03-05 14:55:44.032 INFO 15312 --- [ main] o.a.camel.spring.SpringCamelContext : Total 4 routes, of which 4 are started. 2017-03-05 14:55:44.034 INFO 15312 --- [ main] o.a.camel.spring.SpringCamelContext : Apache Camel 2.22.0-SNAPSHOT (CamelContext: camel-1) started in 0.614 seconds 2017-03-05 14:55:44.131 INFO 15312 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http) 2017-03-05 14:55:44.140 INFO 15312 --- [ main] o.a.c.example.springboot.Application : Started Application in 6.265 seconds (JVM running for 21.092) ---- 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/camel/users You can also access the REST endpoint from the command line: [source,text] ---- $ curl http://localhost:8080/api/users ---- The command will produce the following output: [source,json] ---- [ { "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: [source,text] ---- $ curl http://localhost:8080/api/api-doc ---- The Spring Boot application can be stopped pressing `[CTRL] + [C]` in the shell. === Help and contributions If you hit any problem using Camel or have some feedback, then please https://camel.apache.org/support.html[let us know]. We also love contributors, so https://camel.apache.org/contributing.html[get involved] :-) The Camel riders!