调用Apache Camel Rest DSL时Postman返回404错误问题排查
Apache Camel REST接口404问题解决方法
问题根因
问题由两个核心原因导致:Camel相关依赖版本不兼容、Camel Servlet映射规则未显式配置。
解决步骤
- 统一Camel依赖版本
将camel-servlet-starter的版本从3.0.0-RC3调整为和其他Camel组件一致的3.11.1,跨版本混用会导致REST路由的Servlet注册逻辑异常。 - 补充application.properties配置
在原有配置基础上新增Camel Servlet的映射规则,保证/camel前缀生效:
camel.springboot.main-run-controller=true server.servlet.context-path=/demo # 新增如下配置 camel.servlet.mapping.context-path=/camel/*
- 优化路由配置(可选,避免硬编码冲突)
路由中的restConfiguration不需要硬编码host和端口,Spring Boot已经统一管理服务端口和上下文,修改为如下即可:
restConfiguration().component("servlet");
- 校验请求路径
Postman发起GET请求的正确地址为http://localhost:8080/demo/camel/say/hello,你报错信息中的路径缺少/camel前缀,说明实际发起请求时路径填写错误。
完成上述操作后重启服务即可正常访问接口。
内容的提问来源于stack exchange,提问作者Jenny
相关产品推荐
相关产品推荐

