0
我有接收的形式的请求的骆驼REST端点: -骆驼 - 根据JSON请求体基于内容的路由
{"method" : "getHello"}
基于在请求体中method
字段中的值我想将请求路由到不同的路由。所以,我想这样的事情如下: -
from("jetty:http://localhost:8888/hello").unmarshal().json(JsonLibrary.Jackson, RouteRequest.class)
.choice()
.when(method(DynamicRouter.class, "route").isEqualTo("getHello")).to("stream:out")
.otherwise()
.log("Processing Failed");
动态路由器类象下面这样: -
public class DynamicRouter {
public String route(RouteRequest req) {
switch (req.getMethod()) {
case "getHello":
return "xxxx";
}
return null;
}
}
即使我从route()
返回xxxx
但低于谓词是总为真,并是永远不会。其他
isEqualTo("getHello")).to("stream:out")
有人可以让我知道我做错了什么吗?还有一些更好的办法,我想实现什么?
我对camel 2.16.3
你应该刚刚删除问题 –