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


Camel バージョン 2.19 以降で利用可能

rest-swagger は、Swagger (Open API) 仕様ドキュメントから残りのプロデューサーを設定し、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>

280.1. URI 形式

rest-swagger:[specificationPath#]operationId

ここで、operationId は Swagger 仕様の操作の ID であり、specificationPath は仕様へのパスです。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 を使用して、リクエストを実行するために使用するコンポーネントを指定します。この名前付きコンポーネントは Camel コンテキストに存在し、必要な RestProducerFactory インターフェイスを実装する必要があります — 上部にリストされているコンポーネントも同様です。

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

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

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.