骆驼服务器忽略http GET请求中的Content-Type

时间:2018-06-19 14:30:40

标签: java rest apache-camel

骆驼服务器忽略http GET请求中的内容类型

我们正在使用骆驼服务器访问外部服务。 发布请求。但是,获取请求我们收到无效的内容类型错误。

因为它会忽略请求json中的内容类型标头。

我们正在使用骆驼2.13.2

下面是我的代码。

from("jetty:" + propertiesTable.get("PROXY"))
.choice()
    .when(header(Exchange.HTTP_METHOD).isEqualTo("GET")).process(new ProxyRequestProcessor())                       
            .to("jetty:" + propertiesTable.get("PROXY"))
        .process(new ResponseProcessor())
        .setHeader(Exchange.CONTENT_TYPE, simple(HttpConstants.CONTENT_TYPE_JAVA_SERIALIZED_OBJECT))
        .setHeader(Exchange.CONTENT_TYPE, constant("application/octet-stream"))
.end()



HttpServletRequest httpRequest = exchange.getIn().getBody(HttpServletRequest.class);    
exchange.getOut().setHeader("BD-Traceid", httpRequest.getHeader("BD-Traceid"));
exchange.getOut().setHeader("BD-Timestamp", httpRequest.getHeader("BD-Timestamp"));
exchange.getOut().setHeader("Authorization", httpRequest.getHeader("Authorization"));
exchange.getOut().setHeader("Accept", httpRequest.getHeader("Accept"));
exchange.getOut().setHeader(Exchange.HTTP_METHOD, "GET");
exchange.getOut().setHeader(HttpHeaders.ACCEPT, "application/json");
exchange.getOut().setHeader("Allow", "GET");
exchange.getOut().setHeader(Exchange.CONTENT_TYPE, constant("application/json"))            
JSONObject json = new JSONObject();
json.put("key", "value");
exchange.getOut().setBody(json);

如何使骆驼服务器的内容类型不可忽略。

任何帮助将不胜感激!!!

0 个答案:

没有答案