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);
ご覧のとおり、本文が null のリクエストを処理するための特別な処理 (コンテンツ ベースのルーティング) があります。これをよりエレガントに処理する方法はありますか?私はこのタイプのいくつかのサービスを書いています。