...
URI format
Code Block |
rest://verbmethod:path[:uriTemplate]?[options]
|
URI Options
Wiki Markup |
|| Name || Default Value || Description ||
| verbmethod | | HTTP method which should be one of: get, post, put, patch, delete, head, trace, connect, or options. |
| path | | the contentbase path which support REST syntax. See further below for examples. |
| uriTemplate | | uri template which support REST syntax. See further below for examples. |
| consumes | | acceptmedia 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.
Tip |
If no uriTemplate is configured then path option works the same way. It does not matter if you configure only path or if you configure both options. Though configuring both a path and uriTemplate is a more common practice with REST. |
The following is a Camel route using a fixed a path only
Code Block |
from("rest:get:hello")
.transform().constant("Bye World"); |
...
Code Block |
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 uriTemplates.
Code Block |
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-sparkservlet-rest-tomcat example in the Apache Camel distribution, that demonstrates how to use the Rest DSL with the Spark-rest as SERVLET as transport that can be deployed on Apache Tomcat, or similar web containers.
Include Page |
|