我正在使用 camel-rest 连接到外部 API 并验证 json-schemas,该应用程序按预期工作,但是调用时没有响应,我只能通过 Camel 内部的日志看到它,如下所示:
INFO [route3] (vert.x-worker-thread-0) HTTP Response: [{"description":"Winter fruit","name":"Apple"},{"description":"Tropical fruit","name":"Pineapple"}]
并且任何卷曲只返回 200 OK。
这是我的代码:
public class Validator extends RouteBuilder {
private static final String REST_ENDPOINT_ECHO= "{{rest.endpoint}}?bridgeEndpoint=true" +
"©Headers=true" +
"&connectionClose=true";
@Override
public void configure() throws Exception {
onException(JsonValidationException.class)
.handled(true)
.setHeader(Exchange.HTTP_RESPONSE_CODE, constant(400))
.setHeader(Exchange.CONTENT_TYPE, simple("text/plain"))
.log("Body: ${body}, Header: ${headers}")
.setBody(simple("Error: Invalid JSON Schema"));
rest()
.post("/{{rest.endpoint.subpath}}").enableCORS(true).route()
.to("direct:validator")
.endRest();
from("direct:echoServiceUrl")
.to("json-validator:file:/deployments/schema.json")
.to("http://" + REST_ENDPOINT_ECHO)
.log("HTTP Response: " + "${body}")
.convertBodyTo(String.class)
.end();