Skip to content

Latest commit

 

History

History
90 lines (64 loc) · 3.03 KB

File metadata and controls

90 lines (64 loc) · 3.03 KB

Spring Boot Example with Camel REST DSL and OpenApi

Introduction

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.

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:

...
[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/api/users

You can also access the REST endpoint from the command line:

$ curl http://localhost:8080/api/users

The 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-doc

The Spring Boot application can be stopped pressing [CTRL] + [C] in the shell.

Actuator

The actuator is available at: http://localhost:8080/actuator/ such as metrics for Prometheus: http://localhost:8080/actuator/prometheus.

Help and contributions

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!