第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>
Copy to Clipboard Toggle word wrap

URI 形式

spark-rest://verb:path?[options]
Copy to Clipboard Toggle word wrap

URI オプション

Expand
名前
デフォルト値
説明
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");
Copy to Clipboard Toggle word wrap
以下のルートは、キーme を持つ Camel ヘッダーにマップされる パラメーターを使用します。
  from("spark-rest:get:hello/:me")
    .transform().simple("Bye ${header.me}");
Copy to Clipboard Toggle word wrap

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]}");
Copy to Clipboard Toggle word wrap

REST DSL

Apache Camel は、REST サービスを nice REST スタイルで定義できるようにする新しい Rest DSL を提供します。たとえば、以下のように REST hello サービスを定義できます。
  return new RouteBuilder() {
      @Override
      public void configure() throws Exception {
            rest("/hello/{me}").get()
                .route().transform().simple("Bye ${header.me}");
        }
    };
Copy to Clipboard Toggle word wrap
  <camelContext xmlns="http://camel.apache.org/schema/spring">
    <rest uri="/hello/{me}">
      <get>
        <route>
          <transform>
            <simple>Bye ${header.me}</simple>
          </transform>
        </route>
      </get>
    </rest>
  </camelContext>
Copy to Clipboard Toggle word wrap
詳細は Rest DSL を参照してください。

その他の例

Apache Camel ディストリビューションには camel-example-spark-rest-tomcat の例があり、Apache Tomcat または同様の Web コンテナー上にデプロイできる Web アプリケーションで camel-spark-rest を使用する方法を実証します。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat