簡體   English   中英

GET方法中的Content-Type未填充

[英]Content-Type in GET method not getting populated

使用Apache Camel-Http組件不會填充為GET方法設置Content-Type的內容。

exchange.getIn().setHeader(Exchange.CONTENT_TYPE, "application/json");

而使用POST方法時同樣有效。

理解沒有方法GET的主體。 奇怪的是,如果將body設置為空string(“”),則傳遞Content-Type,但方法類型也更改為POST。

exchange.getIn().setBody("");

2.13.1是我當前正在使用的Camel版本。 也嘗試了最新版本,仍然相同。 有什么我想念的。

服務要求傳遞Content-Type。

在Camel源碼中有針對這種情況的測試: https : //github.com/apache/camel/blob/master/components/camel-http4/src/test/java/org/apache/camel/component/ http4 / HttpProducerContentTypeTest.java

在兩個測試案例中,都需要設置主體。 您應該在camel-http4中看到以下內容:

https://github.com/apache/camel/blob/master/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpProducer.java#L482-L582

還有駱駝http:

https://github.com/apache/camel/blob/master/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java#L447-L506

如果決定使用Http4 / http組件,則需要設置一個正文。

關於nabble也有一個非常古老的討論: http ://camel.465427.n5.nabble.com/Http4-Set-Header-Content-Type-not-passing-through-to-the-HTTP-Request-td5746414 。 html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM