如何在使用 Apache Camel 时检索查询参数值?

How to retrieve query parameter value while using Apache Camel?

我有一个 REST 端点 http://localhost:8080/replaymessages/{messageids} 其中 messageids 将有逗号 (,) 分隔值 - 比如 123,456,789 等等。如何在使用 Apache Camel 时检索这些值?

您可以使用 bean 来调用像 org.apache.commons.lang.StringUtils.split 这样的静态方法来拆分存储在 header:

rest()
    .get("/replaymessages/{messageids}")
    .to("direct:processMessageIds");

from("direct:processMessageIds")
    .bean(StringUtils.class, "split(${header.messageids}, ',' , -1)")
    .log(LoggingLevel.INFO, "id[0] == ${body[0]}");