在Spring Boot中使用DSL的Apache Camel Rest端点添加/骆驼到路径
问题描述:
我试图构建一个插入Spring Boot应用程序的模块。该模块应该揭露一些REST端点,我尝试了与骆驼建立他们,因为我不希望有东西web.xml中添加等在Spring Boot中使用DSL的Apache Camel Rest端点添加/骆驼到路径
restConfiguration().component("servlet")
.contextPath("/my")
.apiContextPath("/api-doc")
.apiProperty("api.title", "My REST API")
.apiProperty("cors", "true")
.apiContextRouteId("my-api")
.bindingMode(RestBindingMode.json);
rest("/my").description("My REST Services")
.get("foo/{id}").route().routeId("foo")
.to("direct:foo");
from("direct:foo")
.process(new FooParamParser())
.log("Done");
我遇到的问题是,而不是在/ my/foo/123?status = abc我必须在/ camel/my/foo/123?status = abc处打它。
这样做是因为它默认使用Camel Servlet作为DSL的REST端点,我很好,但我不希望它把“/ camel”放在我的开头路径。我应该注意到,这种行为是相同的,有或没有.component("servlet")
任何方式来改变呢?
答
您可以在application.properties控制这个或application.yml
e.g
camel.component.servlet.mapping.contextPath=/api/*
谢谢!有没有办法让它具体到这个实例而不是全局?我们可能有几个这些附加模块,每个模块都应该在它自己的上下文路径下。 –
我不太了解你的设置中的实例/全局的概念,但你可以在属性中使用/ *,如果没有任何其他冲突,然后为DSL中的每个服务设置不同的上下文路径 – ltsallas