OpenAPI (Swagger 2.0) 仕様に対する IBM 拡張

OpenAPI (Swagger 2.0) 定義ファイルに x-ibm-configuration オブジェクトを使用して、IBM® API Connect に固有の拡張を追加します。

x-ibm-configuration 拡張の構造は以下のとおりです。

x-ibm-configuration:
  enforced: enforced_boolean
  phase: Phase
  testable: test_boolean
  cors:
    enabled: cors_boolean
  assembly:
    execute:
      - assembly_component
   properties:
      properties_extension
   catalogs:
      catalogs_extension

以下の表に、API Connect で使用されるさまざまな拡張をリストし、それぞれの拡張について、必須であるか、用途と動作の説明、およびタイプを示します。

表 1. IBM 拡張
拡張 必須 説明 タイプ
phase はい API の成熟度を記述するために使用します。この拡張には次の値を指定できます。
  • identified: API は初期の概念的なフェーズにあり、設計も実装も完了していません。
  • specified: API は、設計が完了して内部のマイルストーンを通過しましたが、まだ実装されていません。
  • realized: API は実装フェーズにあります。
ストリング
testable はい 開発者ポータルでテスト・ツールを使用して API をテストできるかどうかを指定するために使用します。 ブール
enforced はい API Connect ゲートウェイを使用して API を強制するかどうかを指定するために使用します。
  • true を指定すると、API Connect ゲートウェイを使用して API が強制されます。
  • false を指定すると、API Connect ゲートウェイを使用して API が強制されません。
ブール
cors はい API に CORS アクセス制御を使用するかどうかを指定するために使用します。この拡張には、ブール型の enabled フィールドが含まれています。 オブジェクト (ブール型フィールドを 1 つ含む)
assembly いいえ API へのポリシーとロジックの適用を記述するために使用します。この拡張には、ポリシーを適用順に並べた配列を含んだ execute フィールドが含まれています。この拡張に、catch されるエラー・ケースの配列を含んだ catch フィールドを含めることができます。

execute フィールドの使用法については、execute を参照してください。

catch フィールドの使用法については、catch を参照してください。

オブジェクト
gateway いいえ 使用するゲートウェイのタイプを指定するために使用します。DataPower® Gateway または Micro Gateway を使用する場合は、以下のいずれかの値で指定する必要があります。
  • datapower-gateway
  • micro-gateway
ストリング
properties いいえ API で使用するプロパティーを定義する場合に使用します。 オブジェクト (properties)
catalogs いいえ properties 拡張内で定義されたプロパティーに対してカタログ固有の値を定義するには catalogs 拡張を使用します。 オブジェクト (catalogs)

以下の例に示す API の x-ibm-extension セクションでは、API が、API Connect によって強制されること、realized 状態にあること、開発者ポータルでテスト・ツールを使用してテストできること、CORS アクセス制御が有効であること、および URL を呼び出して要求または応答のフィールドを編集する単純なアセンブリーを含んでいることが記述されています。

x-ibm-configuration:
  enforced: true
  phase: realized
  testable: true
  cors:
    enabled: true
  assembly:
    execute:
      - invoke:
          title: Example Invoke
          target-url: 'https://example.com/api'
          description: Example description
      - redact:
        actions:
          - action: redact
            from: 
              - request
              - response
            path: //*[@name='secondaryAddress']/*[@name='streetAddress']
  properties:
    ID:
      value: 1234
      description: An ID to be used for validating.
      encoded: false
  catalogs:
    Sandbox:
      properties:
        ID: 5678
タイム・スタンプ・アイコン 最終更新: 2017 年 10 月 31 日