Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.第157章 Spark REST
Spark REST コンポーネント リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Camel 2.14 から利用可能
Spark-rest コンポーネントを使用すると、Rest DSL を使用して Spark REST Java ライブラリーを使用して REST エンドポイントを定義できます。
重要
Spark Java には Java 8 ランタイムが必要です。
Maven ユーザーは、このコンポーネントの pom.xml に以下の依存関係を追加する必要があります。
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-spark-rest</artifactId> <version>${camel-version}</version> </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-spark-rest</artifactId>
<version>${camel-version}</version>
</dependency>
URI 形式 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
spark-rest://verb:path?[options]
spark-rest://verb:path?[options]
URI オプション リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
名前
|
デフォルト値
|
説明
|
---|---|---|
verb
|
|
get、post、put、patch、delete、head、trace、connect、または options。
|
path
|
|
Spark 構文をサポートするコンテンツパス。例については、以下を参照してください。
|
accept
|
|
'text/xml' または 'application/json' などの Accept タイプ。デフォルトでは、すべての種類のタイプを受け入れます。
|
Spark 構文を使用したパス リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
path オプションは、パラメーターおよびスプラットのサポートを使用して REST コンテキストパスを定義する Spark REST 構文を使用して定義されます。詳細は、Spark Java Route ドキュメントを参照してください。
以下は、固定パスを使用した Camel ルートです。
from("spark-rest:get:hello") .transform().constant("Bye World");
from("spark-rest:get:hello")
.transform().constant("Bye World");
以下のルートは、キーme を持つ Camel ヘッダーにマップされる パラメーターを使用します。
from("spark-rest:get:hello/:me") .transform().simple("Bye ${header.me}");
from("spark-rest:get:hello/:me")
.transform().simple("Bye ${header.me}");
Camel メッセージへのマッピング リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Spark Request オブジェクトは、getRequest メソッドを使用して生の Spark 要求にアクセスできる
org.apache.camel.component.sparkrest.SparkMessage
として Camel Message にマッピングされます。デフォルトでは、Spark ボディーは Camel メッセージボディーにマッピングされ、HTTP ヘッダー/Spark パラメーターは Camel メッセージヘッダーにマッピングされます。Spark スプラット構文には特別なサポートがあり、これはキースプラットを使用して Camel メッセージヘッダーにマッピングされます。
たとえば、以下のルートは、コンテキストパスで Spark splat (アスタリスク記号)を使用します。このコンテキストは、Simple 言語の形式のヘッダーとしてアクセスして応答メッセージを構築できます。
from("spark-rest:get:/hello/*/to/*") .transform().simple("Bye big ${header.splat[1]} from ${header.splat[0]}");
from("spark-rest:get:/hello/*/to/*")
.transform().simple("Bye big ${header.splat[1]} from ${header.splat[0]}");
REST DSL リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Apache Camel は、REST サービスを nice REST スタイルで定義できるようにする新しい Rest DSL を提供します。たとえば、以下のように REST hello サービスを定義できます。
詳細は Rest DSL を参照してください。
その他の例 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Apache Camel ディストリビューションには camel-example-spark-rest-tomcat の例があり、Apache Tomcat または同様の Web コンテナー上にデプロイできる Web アプリケーションで camel-spark-rest を使用する方法を実証します。