| == Camel Servlet REST and OSGi Blueprint example |
| |
| === Introduction |
| |
| This example shows how to use Servlet REST to define REST endpoints in |
| Camel routes using the Rest DSL |
| |
| === Build |
| |
| You will need to compile this example first: |
| |
| .... |
| mvn install |
| .... |
| |
| === Run |
| |
| To install Apache Camel in Karaf you type in the shell (we use version |
| $\{project.version}): |
| |
| .... |
| feature:repo-add camel ${project.version} |
| feature:install camel |
| .... |
| |
| First you need to install the following features in Karaf/ServiceMix |
| with: |
| |
| .... |
| feature:install camel-servlet |
| feature:install camel-jackson |
| feature:install war |
| .... |
| |
| Then you can install the Camel example: |
| |
| .... |
| install -s mvn:org.apache.camel.example/camel-example-servlet-rest-blueprint/${project.version} |
| .... |
| |
| And you can see the application running by tailing the logs |
| |
| .... |
| log:tail |
| .... |
| |
| And you can use ctrl+c to stop tailing the log. |
| |
| There is a user REST service that supports the following operations |
| |
| * GET /user/\{id} - to view a user with the given id |
| * GET /user/final - to view all users |
| * PUT /user - to update/create an user |
| |
| The view operations are HTTP GET, and update is using HTTP PUT. |
| |
| From a web browser you can access the first two services using the |
| following links |
| |
| .... |
| http://localhost:8181/camel-example-servlet-rest-blueprint/rest/user/123 - to view the user with id 123 |
| http://localhost:8181/camel-example-servlet-rest-blueprint/rest/user/findAll - to list all users |
| .... |
| |
| From the command shell you can use curl to access the service as shown |
| below: |
| |
| .... |
| curl -X GET -H "Accept: application/json" http://localhost:8181/camel-example-servlet-rest-blueprint/rest/user/123 |
| curl -X GET -H "Accept: application/json" http://localhost:8181/camel-example-servlet-rest-blueprint/rest/user/findAll |
| curl -X PUT -d "{ \"id\": 666, \"name\": \"The devil\"}" -H "Accept: application/json" http://localhost:8181/camel-example-servlet-rest-blueprint/rest/user |
| .... |
| |
| === Configuration |
| |
| This example is implemented in XML DSL in the |
| `+src/main/resources/OSGI-INF/blueprint/camel.xml+` file. |
| |
| === 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! |