0

我在我的 ESB 项目中使用 Camel API 进行路由,并且对特定问题有以下要求:-

有一个使用表单标签 URI 调用的 Web 服务,它将请求作为 JSON 接收,并使用 JSON 数据响应 POST 调用。我需要将请求 JSON 数据作为响应 JSON 中的字段之一。我正在寻找一种可能的方式来丰富我的信息。我可以通过在 java 类中编写转换逻辑来做到这一点。但 约束是我不能使用单独的 Java 类进行数据转换。我必须通过使用标签在 camelContext 中进行配置来做到这一点。请建议。

4

2 回答 2

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"));
于 2017-09-30T07:18:54.973 回答
0

我认为您需要查看 setBody 方法。请在此处查看。

...
<setBody>
<simple>
{
"message" : "${body}"
}
</simple>
</setBody>
...
于 2017-10-02T14:46:29.207 回答