我正在为REST服务开发骆驼路线。我的任务是添加一个POST,在其中我需要从发送的json中取出令牌。我正在执行以下操作:
.unmarshal().json(JsonLibrary.Jackson, Token.class)
我在pom文件中添加了“ camel-jackson”依赖项,并且工作正常。
问题:现在,所有即将到来的json都已去除了双引号。所以下面的json:
{"name": "John Doe", "job": "farmer"}
最终显示为:
{name:John Doe,job:farmer}
对于我的某些代码,我需要双引号。我试图做一些配置我的休息路线的尝试,但是没有运气。任何人都有解决的想法?
答案 0 :(得分:0)
您在评论中提到了自己
restConfiguration()
.component("jetty")
.scheme("https")
.bindingMode(RestBindingMode.auto)
.dataFormatProperty("prettyPrint", "true")
.port(8443);
您没有提及您的路线。但是,如果您正在使用bindingMode,它将在get()/ post()上期望有一个type(),该类型将用于将json解组。听起来您只想对要添加的新POST进行此操作,那么为什么不对post()进行绑定,而不是对restConfiguration()进行全局绑定?
例如
restConfiguration()
.component("jetty")
.scheme("https")
.dataFormatProperty("prettyPrint", "true")
.port(8443);
rest("/words")
.post("/new/post/url")
.bindingMode(RestBindingMode.auto)
.type(YourPojo.class)
...
.get("existing/stuff")
...