我是 Camel 的新手,正在尝试学习习语和最佳实践。我正在编写需要处理几种不同错误情况的 Web 服务。这是我的错误处理和路由:
onException(JsonParseException.class).inOut("direct:syntaxError").handled(true);
onException(UnrecognizedPropertyException.class).inOut("direct:syntaxError").handled(true);
// Route service through direct to allow testing.
from("servlet:///service?matchOnUriPrefix=true").inOut("direct:service");
from("direct:service")
.choice()
.when(body().isEqualTo(null))
.inOut("direct:syntaxError")
.otherwise()
.unmarshal().json(lJsonLib, AuthorizationParameters.class).inOut("bean:mybean?method=serviceMethod").marshal().json(lJsonLib);
如您所见,我有特殊处理(基于内容的路由)来处理带有空正文的请求。有没有办法更优雅地处理这个问题?我正在编写几种这种类型的服务,看起来它们可能会更干净。