繁体   English   中英

如何从 Apache Camel 的码头端点发送 JSON 回复?

[英]How to send JSON reply from a jetty endpoint in Apache Camel?

我正在 Apache Camel 中处理直通 REST 服务。 暴露了一个带有码头组件的端点,该组件调用另一个 REST 端点,该端点以 JSON 响应,如下所示。 但是当我在浏览器中点击暴露的 URL 时,没有得到想要的 output。 由于我刚开始在 Camel 上工作,任何帮助将不胜感激。

from("jetty:http://0.0.0.0:8080/api/camel/appoverview")
        .to("http4://10.150.60.237:80/api/itsb/applicationoverview?httpMethod=GET&bridgeEndpoint=true&throwExceptionOnFailure=false")
        .transform().simple("<out>${body}</out>")
        .log("Response sent -> ${body}");

获取 output -

<out> {
         "applicationId": "1",
         "applicationName": "NetInfo",
         "serviceNoticeCount": "13",
         "operationalStatus": {
            "id": "2",
            "status": "red",
            "statusLevel": "3"
         }
      }
</out>

所需 output -

 {
         "applicationId": "1",
         "applicationName": "NetInfo",
         "serviceNoticeCount": "13",
         "operationalStatus": {
            "id": "2",
            "status": "red",
            "statusLevel": "3"
         }
  }

它在解组 JSON 回复后工作,如下所示 -

from("jetty:http://0.0.0.0:8080/api/camel/appoverview")
        .to("http4://10.150.60.237:80/api/itsb/applicationoverview?httpMethod=GET&bridgeEndpoint=true&throwExceptionOnFailure=true")
        .unmarshal().json(JsonLibrary.Jackson)
        .transform().simple("${body}")
        .log("Response sent -> ${body}");

pom.xml中需要添加解组的依赖

<dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-jackson</artifactId>
</dependency>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM