検索

第261章 REST Swagger コンポーネント

download PDF

Camel バージョン 2.19 から利用可能

rest-swagger は、Swagger (Open API)仕様ドキュメントから REST プロデューサーを設定し、RestProducerFactory インターフェースを実装するコンポーネントに委譲します。現在既知の作業コンポーネントは以下の通りです。

Maven ユーザーは、このコンポーネントの pom.xml に以下の依存関係を追加する必要があります。

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-rest-swagger</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>

261.1. URI 形式

rest-swagger:[specificationPath#]operationId

operationId は Swagger 仕様の操作の ID で、spec Path は仕様へ のパスになります。specificationPath が指定されていない場合、デフォルトは swagger.json です。ルックアップメカニズムは Camels ResourceHelper を使用してリソースをロードします。つまり、CLASSPATH リソース(classpath:my-specification.json)、ファイル(file:/some/path.json)、web(http://api.example.com/swagger.json)、または Bean(ref:nameOfBean)を参照したり、Bean(bean:nameOfBean.methodName)のメソッドを使用して仕様リソースを取得し、Swagger の独自のリソースロードサポートが失敗します。

このコンポーネントは HTTP クライアントとして機能せず、上記の他のコンポーネントに委任されます。ルックアップメカニズムは、RestProducerFactory インターフェースを実装する単一のコンポーネントを検索し、それを使用します。CLASSPATH に複数のものが含まれる場合、プロパティー componentName は委譲するコンポーネントを示すように設定する必要があります。

ほとんどの設定は Swagger 仕様から取得されますが、コンポーネントまたはエンドポイントで設定を指定して上書きするオプションが存在します。通常、host または basePath は、これらが仕様とは異なる場合に上書きするだけで済みます。

注記

host パラメーターには、スキーム、ホスト名、ポート番号が含まれる絶対 URI が含まれる必要があります(例: https://api.example.com)。

componentName では、要求の実行に使用するコンポーネントを指定します。

コンポーネントまたはエンドポイントレベルで componentName を指定しない場合、CLASSPATH は適切な委譲を検索します。これを機能させるには、RestProducerFactory インターフェースを実装する CLASSPATH に 1 つのコンポーネントのみが存在する必要があります。

このコンポーネントのエンドポイント URI は lenient です。つまり、メッセージヘッダーに加えて、エンドポイントパラメーターとして REST 操作のパラメーターを指定できます。これらは、後続のすべての呼び出しに対して定数されるため、/api/7.1/users/{id} など、パスにあるすべての呼び出しの定数がないパラメーターにのみ、この機能を使用することが理にかなっています。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.