343.2. Java DSL の基本的な使い方
343.2.1. データ形式の明示的なインスタンス化 リンクのコピーリンクがクリップボードにコピーされました!
org.apache.camel.dataformat.xmljson パッケージの XmlJsonDataFormat をインスタンス化するだけです。camel-xmljson 機能 (OSGi で実行している場合) がインストールされていること、または camel-xmljson-7.2.jar とその推移的な依存関係がクラスパスに含まれていることを確認してください。デフォルト設定での初期化の例:
XmlJsonDataFormat xmlJsonFormat = new XmlJsonDataFormat();
XmlJsonDataFormat xmlJsonFormat = new XmlJsonDataFormat();
上記のオプションに従ってデータ形式の動作を調整するには、適切なセッターを使用します。
データ形式をインスタンス化したら、次のステップは、marshal() および unmarshal() DSL 要素内から実際に使用することです。
// from XML to JSON
from("direct:marshal").marshal(xmlJsonFormat).to("mock:json");
// from JSON to XML
from("direct:unmarshal").unmarshal(xmlJsonFormat).to("mock:xml");
// from XML to JSON
from("direct:marshal").marshal(xmlJsonFormat).to("mock:json");
// from JSON to XML
from("direct:unmarshal").unmarshal(xmlJsonFormat).to("mock:xml");
343.2.2. インラインでデータ形式を定義する リンクのコピーリンクがクリップボードにコピーされました!
または、xmljson() DSL 要素を使用してインラインでデータ形式を定義できます。
// from XML to JSON - inline dataformat
from("direct:marshalInline").marshal().xmljson().to("mock:jsonInline");
// from JSON to XML - inline dataformat
from("direct:unmarshalInline").unmarshal().xmljson().to("mock:xmlInline");
// from XML to JSON - inline dataformat
from("direct:marshalInline").marshal().xmljson().to("mock:jsonInline");
// from JSON to XML - inline dataformat
from("direct:unmarshalInline").unmarshal().xmljson().to("mock:xmlInline");
必要に応じて、Map<String, String> をインラインメソッドに渡して、カスタムオプションを提供することもできます。