我使用Camel API在我的ESB项目中进行路由,并对特定问题有以下要求: -
有一个使用表单标记URI调用的Web服务,它将请求作为JSON接收并使用JSON数据响应POST调用。我需要将请求JSON数据作为我的响应JSON中的一个字段包含在内。我正在寻找一种可能丰富我信息的方法。我可以通过在java类中编写转换逻辑来实现。 但 约束是我不能使用单独的Java类进行数据转换。我必须通过使用标签在camelContext中配置来完成它。请建议。
答案 0 :(得分:0)
您可以将整个Json主体读作树
JsonNode body = mapper.readTree(input);
然后用你的结构来丰富它。
例如,如果您有下一个json正文:
{"valueList": {
"key": "1",
"value": "2"
}
}
你可以用这段代码来丰富它:
ObjectMapper mapper = new ObjectMapper();
ObjectNode rootNode = mapper.createObjectNode();
ArrayNode headersList = mapper.createArrayNode();
rootNode.set("headersList", headersList);
rootNode.putPOJO("valueList", body.get("valueList"));
答案 1 :(得分:0)
我认为您需要查看setBody方法。请检查here.
...
<setBody>
<simple>
{
"message" : "${body}"
}
</simple>
</setBody>
...