You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何阻止Apache Camel将路由路径追加至被调用的目标URL

Apache Camel路径追加问题解决

问题原因

Apache Camel的HTTP/HTTPS组件默认会读取Exchange中的HttpPath头信息,并将其追加到目标URL末尾。你的场景中,platformHttp("/api/test")会把请求路径/api/test存入HttpPath头,即使设置了bridgeEndpoint=true,这个参数仅负责替换目标URL的主机和端口,不会清空已有的路径信息,因此最终请求会变成https://google.com/api/test。

解决方法

有两种简单的方式可以阻止路径追加:

方法1:在HTTPS端点添加skipEndpointPath=true参数

该参数会告诉Camel不要将HttpPath头的内容追加到目标URL,直接使用配置的基础URL:

from(platformHttp("/api/test"))
     .to("https:google.com?bridgeEndpoint=true&skipEndpointPath=true")
     .setBody(simple("${body}"));

方法2:手动移除HttpPath头

在调用目标端点前,显式移除Exchange.HTTP_PATH头,这样Camel就没有路径信息可以追加:

import org.apache.camel.Exchange;

from(platformHttp("/api/test"))
     .removeHeader(Exchange.HTTP_PATH)
     .to("https:google.com?bridgeEndpoint=true")
     .setBody(simple("${body}"));

内容的提问来源于stack exchange,提问作者Marian Klühspies

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 21:09:25