提取URI后缀作为方法参数

时间:2016-02-26 13:43:26

标签: java apache-camel

我目前定义了以下路线:

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。

1 个答案:

答案 0 :(得分:1)

不,这是不可能的,但它可能是一个很好的补充支持。欢迎您登录JIRA票:http://camel.apache.org/support.html

今天你必须将路线设置为

from("servlet:///my-api/v1/?matchOnUriPrefix=true")

然后抓取应该是相对路径的Exchange.HTTP_PATH标头,例如在您的示例中{param1}