私は、サーブレットを持っており、以下のようにサーブレットからの要求を聞くためにラクダのルートを使用して:matchOnUriPrefixが真であるので、それには問題はありませんApache Camel - サーブレット・コンポーネント - バインディング・パス変数は可能ですか?
from("servlet:///basepath?matchOnUriPrefix=true")
、以下のURLパターンの要求が正常で耳を傾けていますルート:
ホスト:ポート/ BasePathの/ dynamicSubPath
私が持っていたい、何が、私はトンをバインドするパス変数(dynamicSubPath)を行うことができますどのような方法がある、ということです交換財産ですか?
私は以下のようにパスを得ることができることを知っている:
String path = exchange.getIn().getHeader(Exchange.HTTP_PATH, String.class);
しかし、私は、このような文字列解析をしたいいけません。春のMVCでは、私は以下のように、コントローラへのパス変数を注入することができます
@RequestMapping(path = "/basepath/{dynamicSubPath}", method = RequestMethod.GET)
、その後、以下のようにdynamicSubPath変数を取得することができます。
@PathVariable String dynamicSubPath
ラクダのサーブレット・コンポーネントのための可能な同じようなことはありますか?
はいこれは、サーブレットを使用するプレーンなHTTPではサポートされていません。ただし、RESTを使用する場合は、servletコンポーネントとのパスバインディングもサポートするrest-dslを使用できます。 http://camel.apache.org/rest-dsl –
ありがとう!少なくとも今私はそれがサポートされていないことを知っている:) – simpleusr