未使用Apache Camel-Http组件填充GET方法的设置Content-Type。
exchange.getIn().setHeader(Exchange.CONTENT_TYPE, "application/json");而在使用POST方法时也是如此。
我知道GET方法没有主体。奇怪的是,如果body设置为空字符串(“”),则传递的是Content-Type,但方法类型也更改为POST。
exchange.getIn().setBody("");2.13.1是我目前使用的Camel版本。也尝试了最新的版本,仍然是一样的。是不是我漏掉了什么。
服务要求传递Content-Type。
发布于 2017-11-07 20:56:19
在Camel源代码中,有一个针对这种场景的测试:https://github.com/apache/camel/blob/master/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpProducerContentTypeTest.java
在这两个测试用例中,都需要设置主体。您应该在camel-http4中看到:
还有camel-http:
如果你决定使用Http4/http组件,那么你需要设置一个body。
在nabble上也有一个非常古老的讨论:http://camel.465427.n5.nabble.com/Http4-Set-Header-Content-Type-not-passing-through-to-the-HTTP-Request-td5746414.html
https://stackoverflow.com/questions/47135253
复制相似问题