9.11. OpenAPI トランスレーター


タイプ名 「openapi」 によって認識される OpenAPI トランスレーターは、リレーショナルデータベースの概念を介して OpenAPI データソースを公開し、Data Virtualization WS リソースアダプターを使用して Web サービス呼び出しを作成します。

OpenAPI とは

[OpenAPI は RESTful API のシンプルで強力な表現です。コントロールプレーン上の API ツールの最大エコシステムにより、数千の開発者は最新のプログラミング言語およびデプロイ環境で OpenAPI をサポートします。OpenAPI 対応の API を使用すると、インタラクティブドキュメント、クライアント SDK 生成、検出性が得られます。

このトランスレーターは OpenAPI/Swagger v2 および OpenAPI v3 と互換性があります。

用途

OpenAPI ソースの使用は、Data Virtualization の他のトランスレーターに似ています。トランスレーターはメタデータのインポートを有効にします。メタデータは、ソースシステムのメタデータファイルからインポートされ、Data Virtualization のストアドプロシージャーとして公開されます。ソースシステムは、Data Virtualization システムでこれらのストアドプロシージャーを実行するとクエリーできます。

注記

パラメーターの順序は Swagger ライブラリーにより保証されますが、ネイティブインポートに依存する場合は、位置パラメーターではなく named を使用した手順を呼び出すのが最適です。

以下は、http://petstore.swagger.io/ サイトの Petstore 参照サービスからメタデータを読み取ることができる VDB のサンプルです。

<vdb name="petstore" version="1">
    <model visible="true" name="m">
        <property name="importer.metadataUrl" value="/swagger.json"/>
        <source name="s" translator-name="openapi" connection-jndi-name="java:/openapi"/>
    </model>
</vdb>
Copy to Clipboard Toggle word wrap

必要な resource-adapter 設定は以下のようになります。

<resource-adapter id="openapi">
    <module slot="main" id="org.jboss.teiid.resource-adapter.webservice"/>
    <transaction-support>NoTransaction</transaction-support>
    <connection-definitions>
        <connection-definition class-name="org.teiid.resource.adapter.ws.WSManagedConnectionFactory" jndi-name="java:/openapi" enabled="true" use-java-context="true" pool-name="teiid-openapi-ds">
            <config-property name="EndPoint">
                http://petstore.swagger.io/v2
            </config-property>
        </connection-definition>
    </connection-definitions>
</resource-adapter>
Copy to Clipboard Toggle word wrap

前述の resource-adapter を設定し、VDB を正常にデプロイした後に、Data Virtualization JDBC ドライバーを使用してデプロイされた VDB に接続でき、以下のような SQL ステートメントを発行します。

EXEC findPetsByStatus(('sold',))
EXEC getPetById(1461159803)
EXEC deletePet('', 1461159803)
Copy to Clipboard Toggle word wrap

実行プロパティー

実行プロパティーは、物理ソース機能に基づいてトランスレーターの機能を拡張/制限します。デフォルトのプロパティーは、トランスレーターの適切な実行のために調整する必要があります。

実行プロパティー

なし。

インポーターのプロパティー

以下の表は、物理ソースからのインポート時にトランスレーターの動作を定義するインポータープロパティーを示しています。

Expand
名前説明デフォルト

metadataUrl

OpenAPI メタデータの取得元となる URL。file: URL を使用するローカルファイルである場合があります。

true

server

使用するサーバー。それ以外の場合は、最初にリストされたサーバーが使用されます。

null

preferredProduces

推奨 Accept MIME タイプヘッダー。これは OpenAPI の 'produces' タイプのいずれかになります。

application/json

preferredConsumes

推奨 Content-Type MIME タイプヘッダー。これは OpenAPI の 'consumer' タイプの 1 つである必要があります。

application/json

ヒント

ネイティブクエリー: OpenAPI トランスレーターはネイティブまたは直接クエリーの実行を実行できません。ただし、Web サービストランスレーターの invokehttp メソッドを使用して REST ベースの呼び出しを実行し、SQLXML を使用して結果を解析できます。

制限事項

OpenAPI トランスレーターは OpenAPI のすべての機能を完全に実装しません。以下の制限が適用されます。

  • Accept ヘッダーまたは Content-Type ヘッダーのいずれかで MIME タイプを application/xml に設定することはできません。
  • ファイルおよびマッププロパティーは使用できません。そのため、複数パートペイロードはサポートされません。
  • トランスレーターはセキュリティーメタデータを処理しません。
  • トランスレーターは x- で始まるカスタムプロパティーを処理しません。
  • トランスレーターは、以下の JSON スキーマキーワードでは機能しません。

    • allOf
    • multipleOf
    • items
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat