You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by nareshkumar <na...@gmail.com> on 2016/11/10 04:34:24 UTC
Camel REST DSL - JSON API
Does camel support JSON API?
REST DSL snippet:
restConfiguration().component("restlet").host("localhost").port(9090).bindingMode(RestBindingMode.json);
rest("/users")
.description("User rest service")
.consumes(MediaType.APPLICATION_JSON)
.produces("application/vnd.api+json")
.get()
.description("Get user by id")
.outTypeList(User.class)
.to("......
REST DSL returns response as below,
{"id":123,"name":"Test"}
But i was looking for response in JSON API format. Is there any way I can
get response in JSON API format?
like below,
{
"data": {
"type": "users",
"id": "123",
"attributes": {
"id": "123",
"name": "Test"
"relationships": {
}
},
--
View this message in context: http://camel.465427.n5.nabble.com/Camel-REST-DSL-JSON-API-tp5789980.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Camel REST DSL - JSON API
Posted by Tomohisa Igarashi <tm...@gmail.com>.
Hi,
I don't think there's any OOTB adapter for that in camel. However as camel allows you to use XStream, Jackson, Johnson and Gson for JSON marshal/unmarshal, if any of these supports JSON API, possibly you can leverage that feature in camel DataFormat. Otherwise you can add a custom DataFormat which handles JSON API. Please take a look at jsonDataFormat option on Rest DSL
http://camel.apache.org/data-format.html
http://camel.apache.org/json.html
http://camel.apache.org/rest-dsl.html
Of course you can also build an object which represents JSON API style response in your route then you'll get a desired response.
hth,
Tomo
On 11/10/2016 01:34 PM, nareshkumar wrote:
> Does camel support JSON API?
>
> REST DSL snippet:
>
> restConfiguration().component("restlet").host("localhost").port(9090).bindingMode(RestBindingMode.json);
> rest("/users")
> .description("User rest service")
> .consumes(MediaType.APPLICATION_JSON)
> .produces("application/vnd.api+json")
> .get()
> .description("Get user by id")
> .outTypeList(User.class)
> .to("......
>
>
> REST DSL returns response as below,
>
> {"id":123,"name":"Test"}
>
> But i was looking for response in JSON API format. Is there any way I can
> get response in JSON API format?
>
> like below,
>
> {
> "data": {
> "type": "users",
> "id": "123",
> "attributes": {
> "id": "123",
> "name": "Test"
> "relationships": {
> }
> },
>
>
>
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/Camel-REST-DSL-JSON-API-tp5789980.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>