在Apache Camel的rest路由中,可以使用路径变量来动态地设置URI。使用路径变量可以将路由与不同的资源进行匹配,而不必编写多个路由。要在rest路由中使用路径变量,需要将变量使用花括号括起来,并将其添加到URI中。
以下是使用路径变量的示例:
from("rest:get:/users/{userId}") .route() .to("bean:userService?method=getUser(${header.userId})");
在上述代码中,URI包含了一个路径变量'{userId}”,路由会将该变量与请求中的实际值进行匹配。请求中的值可以通过Camel header或body参数进行传递,这里使用了header参数。用户的ID将被传递给UserService中的getUser方法以获取用户信息。
在getUser方法中,可以像这样接收路径变量:
public User getUser(int userId) { ... }
总之,在Apache Camel rest路由中使用路径变量非常方便,并且可以轻松地将路由与不同的资源进行匹配。