IBM API Connect での OpenAPI 3.0 のサポート

IBM® API Connect は OpenAPI 3.0 仕様をサポートしていますが、いくつかの制限があります。 現在の実装では、Berlin Group NextGen PSD2 要件がすべてサポートされています。

概要

製品には、OpenAPI 2.0 API と OpenAPI 3.0 API を任意に組み合わせて含めることができます。 OpenAPI 3.0 API が含まれている製品を公開するときに、その API が検証され、構文的に正しいこと、および構成リソースとポリシーへの参照が正しく解決されることが確認されます (OpenAPI 2.0 API の検証と同じ方法です)。

また、デベロッパーズ・ツールキット CLI で提供されている apic validate コマンドを使用して、ローカル・ファイル・システム内の OpenAPI 3.0 API を検証することもできます。詳しくは、 API または製品の YAML 定義または JSON 定義の検証を参照してください。

デベロッパーズ・ツールキット CLI または API Connect REST API を使用して API オブジェクトを取得する場合は、API が表す OpenAPI バージョンを定義する oai_version プロパティーがあります。

DataPower® Gateway (v5 compatible)での OpenAPI 3.0 API サポートはありません。 OpenAPI 3.0 API サポートは DataPower API Gateway のみによって提供されます。

制限

API Connect での OpenAPI 3.0 サポートに対する制限は、以下のとおりです。
ユーザー・インターフェースの制限
  • OpenAPI 3.0 仕様のいくつかの面は、現在、ユーザー・インターフェースではサポートされていません。 このような場合は、OpenAPI ソースを直接使用してください。
  • ローカルで確認された検証エラーは、ほぼ即時に API エディターのヘッダーに反映されます。 ただし、一部の検証エラーは API Manager のバックエンドでのみ識別され、API が保存されるまで反映されません。つまり、API を保存したときに、一部の検証エラーが出現したり消失したりする可能性があります。
  • 現在、ユーザー・インターフェースは、操作の要求本文からの要求本文コンポーネントへの参照をサポートしていません。 要求本文コンポーネントを参照する場合は、OpenAPI ソースで、操作の要求本文に参照を直接追加します。
    requestBody:
      $ref: '#/components/requestBodies/request_body_component_name'
    ただし、参照が確認されるのは、ユーザー・インターフェースの要求本文の詳細ページです。
  • API Designer ユーザー・インターフェースで、 API Manager ユーザー・インターフェースから既にアクティブ化されているものと同じ名前とバージョンの API を作成してアクティブ化すると、 「レート制限の編集」 操作が失敗します。
DataPower API Gateway によって強制される API の制限
以下の制限のエラー・メッセージを抑止して API を公開するには、以下の例に示すように、 x-ibm-configuration.compatibility.suppress-limitation-errors プロパティーを true に設定します。
compatibility:
  suppress-limitation-errors: true
重要: suppress-limitation-errors を有効にすると、API を公開できるようにエラー・メッセージが無効になるだけです。
  • 一般的な制限。
    • servers 配列に複数のサーバーを含めることができません。
    • servers 配列の url エントリーに variables を含めることができません。
    • path オブジェクトには、サーバー・オブジェクトのオーバーライドを含めることはできません。
    • WSDL で定義された SOAP サービスの OpenAPI 3.0 API への変換はサポートされません。
    • コールバックやリンクはサポートされておらず、それらを含む API は公開されません。
    • Open API 3.0 の以下の構成体は、あまり一般的に使用されず、サポートされていません。
      • allowEmptyValue
      • allowReserved
  • アセンブリー・ポリシー。
    • すべてのポリシーがサポートされます。
    • JSON スキーマのサポートは、ドラフト 4 以前に制限されています。 そのため、以下のポリシーは、該当するドラフトに制限されます。
      • gatewayscript
      • set-variable
      • switch
      • json-to-xml
      • xml-to-json
      • parse
      • xslt
      • map
      • validate
      ドラフト 4 以前の仕様について詳しくは、「 https://json-schema.org/specification-links.html#draft-4」を参照してください。
    • セキュリティー。
      • OpenID Connect (OIDC) セキュリティー・スキームはサポートされていません。
      • API キーでの Cookie の使用はサポートされません。