我目前定义了以下路线:
from("servlet:///my-api/v1/{param1}?matchOnUriPrefix=true")
.unmarshal().json(JsonLibrary.Jackson, Map.class)
.bean(myController, "myMethod(${in.headers.param1})")
.setHeader(Exchange.CONTENT_TYPE, simple("application/xml"));
这不起作用,当消息到达myController.class时,param1为null。
有没有办法在请求的URI上捕获后缀,然后将其作为bean方法的参数传递?
我知道如果你使用restlet组件你可以这样做,但我想使用servlet。
答案 0 :(得分:1)
不,这是不可能的,但它可能是一个很好的补充支持。欢迎您登录JIRA票:http://camel.apache.org/support.html
今天你必须将路线设置为
from("servlet:///my-api/v1/?matchOnUriPrefix=true")
然后抓取应该是相对路径的Exchange.HTTP_PATH
标头,例如在您的示例中{param1}
。