我正在尝试让Apache Camel的REST DSL正常工作,但它并没有为我提供连接。
我有一个被称为的RouteBuilder:
@Override
public void configure() {
restConfiguration().component("servlet")
.contextPath("/")
.enableCORS(true)
.dataFormatProperty("prettyPrint", "true")
.apiContextPath("/api-doc")
.apiProperty("api.version", buildVersion)
.apiProperty("cors", "true")
.bindingMode(RestBindingMode.json);
rest("/say/hello")
.get().route().transform().constant("Hello World");
}
然后路线实际上不起作用。
这是一个Spring Boot应用程序,其中包含通过JAX-RS定义的其他REST端点,但这是一个我希望能够保持独立的集成包。奇怪的是,在我不得不处理其他事情之前,几个月前这个WAS正在工作,但是现在,回到它,我甚至无法让这个简单的终端工作。
我的Maven pom.xml中有Camel,所有内容似乎都正常启动,但是当我点击http :: // localhost:9071 / say / hello时没有任何反应,我只是得到了标准的Tomcat 404页面。
对我缺少什么的想法?
答案 0 :(得分:2)
根据这个:http://www.baeldung.com/apache-camel-spring-boot
从Camel的2.19版本开始,此配置已被删除 CamelServlet默认设置为“/ camel”。
所以/ camel / say / hello是正确的URL,它对我有用。还在看如何定制这个。
编辑:
以下是如何在Spring Boot下自定义此功能。您可以向application.properties添加一个属性,如下所示:
camel.component.servlet.mapping.contextPath=/*