Available as of Camel 2.14
The rest component allows to define REST endpoints using the Rest DSL and plugin to other Camel components as the REST transport.
rest://method:path[:uriTemplate]?[options] |
Name | Default Value | Description |
|---|---|---|
|
| HTTP method which should be one of:
|
|
| The base path which support REST syntax. See further below for examples. |
|
| URI template which support REST syntax. See further below for examples. |
|
| Media type such as: By default we accept all kinds of types. |
|
| Media type such as: |
uriTemplate syntaxThe path and uriTemplate option is defined using a REST syntax where you define the REST context path using support for parameters.
If no |
The following is a Camel route using a a path only
from("rest:get:hello")
.transform().constant("Bye World"); |
And the following route uses a parameter which is mapped to a Camel header with the key me:
from("rest:get:hello/{me}")
.transform().simple("Bye ${header.me}"); |
The following examples have configured a base path as hello and then have two REST services configured using uriTemplate's.
from("rest:get:hello:/{me}")
.transform().simple("Hi ${header.me}");
from("rest:get:hello:/french/{me}")
.transform().simple("Bonjour ${header.me}");
|
See Rest DSL which offers more examples and how you can use the Rest DSL to define those in a nicer RESTful way.
There is a camel-example-servlet-rest-tomcat example in the Apache Camel distribution, that demonstrates how to use the Rest DSL with SERVLET as transport that can be deployed on Apache Tomcat, or similar web containers.