【问题标题】:Not able to perform redirection using POST method无法使用 POST 方法执行重定向
【发布时间】:2026-02-18 02:30:01
【问题描述】:

我正在尝试使用 Apache Camel 执行一次重定向,但我无法执行此操作,因为每次它都向我显示 GET 方法,但我必须使用 POST 方法进行重定向。

public void redirectFromSuccess(Exchange exchange) {
    exchange.getIn().setHeader("CamelHttpMethod", "POST");
    exchange.getIn().setHeader("Location","http://testURL.com/SuccessURL");
    exchange.getIn().setHeader(Exchange.HTTP_RESPONSE_CODE,"301");

}

【问题讨论】:

标签: java apache-camel


【解决方案1】:

这样试试:

public void redirectFromSuccess(Exchange exchange) {
    exchange.getIn().setHeader(Exchange.HTTP_METHOD, constant("POST")); 
    exchange.getIn().setHeader(Exchange.HTTP_URI,"http://testURL.com/SuccessURL");
    exchange.getIn().setHeader(Exchange.HTTP_RESPONSE_CODE,"301");

}

这是另一个非常简单的例子:

from("direct:start")
 .setHeader(Exchange.HTTP_METHOD, constant("POST"))
 .to("http://www.google.co.in");

【讨论】:

    【解决方案2】:

    你必须设置方法如下: exchange.getIn().setHeader("CamelHttpMethod", "POST");

    【讨论】:

    • 是的,实际上我只尝试了“POST”,但它不起作用..它只调用 GET 方法