[英]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.