Rest Component
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]
URI Options
Name | Default Value | Description |
---|
method
| | HTTP method which should be one of: get post put patch delete head trace connect options
|
path
| | The base path which support REST syntax. See further below for examples. |
uriTemplate
| | URI template which support REST syntax. See further below for examples. |
consumes
| | Media type such as: text/xml or application/json this REST service accepts. By default we accept all kinds of types. |
produces
| | Media type such as: text/xml or application/json this REST service returns. |
Path and uriTemplate
syntax
The path and uriTemplate
option is defined using a REST syntax where you define the REST context path using support for parameters.
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}");
More examples
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.