164.6. コンシューマーの例
以下の例では、http://localhost:8080/myapp/myservice
で HTTP サービスを公開するルートを定義します。
ローカルの使用
URL で localhost
を指定すると、Camel はローカル TCP/IP ネットワークインターフェースでのみエンドポイントを公開するため、操作するマシン外からはアクセスできません。
特定のネットワークインターフェースで Jetty エンドポイントを公開する必要がある場合は、このインターフェースの数値の IP アドレスをホストとして使用する必要があります。すべてのネットワークインターフェースで Jetty エンドポイントを公開する必要がある場合は、0.0.0.0
アドレスを使用する必要があります。
URI プレフィックス全体をリッスンするには、「 How do I let Jetty match wildcards 」を参照してください。
HTTP によってルートを公開し、すでにサーブレットがある場合は、代わりに Servlet Transport を参照する必要があります。
このビジネスロジックは、HTTP リクエストのコンテンツにアクセスして応答を返す MyBookService
クラスに実装されます。
注記: コードはユニットテストの一部であるため、アサート
呼び出しはこの例では表示されます。
以下の例は、URI パラメーター、1 つ、エンドポイント、mock: one
、およびその他のすべてのリクエストを
にルーティングするコンテンツベースのルートを示しています。
mock:
other
そのため、クライアントが HTTP リクエスト http://serverUri?one=hello
を送信すると、Jetty コンポーネントは HTTP リクエストパラメーター 1 つ
をエクスチェンジの in.header
にコピーします。次に、Simple 言語を使用して、このヘッダーが含まれるエクスチェンジを特定のエンドポイントおよび他のエンドポイントにルーティングすることができます。Simple ( OGNLなど)よりも強力な言語を使用した場合は、パラメーター値をテストし、ヘッダー値に基づいてルーティングを行うこともできます。