Menu Close

第6章 REST API 呼び出しによってトリガーされるインテグレーションの作成

必要時にインテグレーションの実行をトリガーするには、ユーザーが提供する REST API 記述ドキュメントでインテグレーションを開始します。この方法で開始するインテグレーションは、API プロバイダーインテグレーション と呼ばれます。API プロバイダーインテグレーションでは、REST API クライアントはインテグレーションの実行をトリガーするコマンドを呼び出しできます。

Fuse Online が API プロバイダーインテグレーションをパブリッシュすると、インテグレーションエンドポイントにネットワークアクセスできるクライアントはすべてインテグレーションの実行をトリガーできます。

注記

Fuse Online on OpenShift Container Platform をオンサイトで使用している場合、管理者は Fuse Online サーバーを設定して Red Hat 3scale の API プロバイダーインテグレーション API の検出を有効にすることができます。デフォルトでは、Fuse Online は 3scale と使用するために API プロバイダーインテグレーションの API サービス定義にアノテーションを付けますが、これらの API を 3scale の自動検出に公開しません。3scale の検出が行われないと、アクセス制御が行われません。3scale の検出を使用すると、アクセスポリシーを設定したり、管理を一元化でき、API プロバイダーインテグレーション API の高可用性を提供することもできます。詳細は、Red Hat 3scale のドキュメントページ の API Gateway に関するドキュメントを参照してください。

API の 3scale 検出を有効化する Fuse Online の設定」も参照してください。

API プロバイダーインテグレーションを作成するための情報および手順は以下を参照してください。

API プロバイダーインテグレーションの作成、パブリッシュ、およびテスト方法については、https://youtu.be/sox8SSqJ0zQ の動画を参照してください。

6.1. API プロバイダーインテグレーションを作成する利点、概要、およびワークフロー

API プロバイダーインテグレーションは、REST API サービスから開始します。この REST API サービスは、API プロバイダーインテグレーションの作成時に提供する OpenAPI 3 (または 2) ドキュメントによって定義されます。API プロバイダーインテグレーションをパブリッシュした後、Fuse Online は REST API サービスを OpenShift にデプロイします。API プロバイダーインテグレーションの利点は、REST API クライアントがインテグレーションの実行をトリガーする呼び出しを実行できることです。

複数の実行フロー

API プロバイダーインテグレーションには、フローと呼ばれる複数の実行パスがあります。OpenAPI ドキュメントが定義する各オペレーションには独自のフローがあります。Fuse Online では、OpenAPI ドキュメントが定義する各オペレーションに対して、コネクションおよびその他のステップをそのオペレーションの実行フローに追加します。これらのステップは、特定のオペレーションに必要なデータを処理します。

実行フローの例

たとえば、Fuse Online によって利用可能になった REST API サービスを呼び出す人事アプリケーションがあるとします。新しい従業員を追加する操作が呼び出されたとします。この呼び出しを処理する操作のフローは、以下のとおりです。

  • 新入社員のハードウェアに関する経費報告書を作成するアプリケーションに接続します。
  • 新しいハードウェアを設定するための社内チケットを追加する SQL データベースに接続します。
  • 新入社員にオリエンテーションの情報を提供するメッセージを送信する Google メールに接続します。

実行をトリガーする方法

インテグレーションの実行をトリガーする REST API を呼び出す方法は複数あります。これには以下が含まれます。

  • データ入力を取得し、呼び出しを生成する Web ブラウザーページ。
  • curl ユーティリティーなどの REST API を明示的に呼び出すアプリケーション。
  • REST API を呼び出す他の API (Webhook など)。

フローを編集する方法

以下を行って、各オペレーションのフローを編集できます。

  • データを処理する必要があるアプリケーションにコネクションを追加します。
  • 分割、集計、およびデータマッピングステップを含む、コネクション間のステップを追加します。
  • コネクションエラーメッセージを、フローを終了する HTTP 応答の戻りコードにマッピングします。この応答は、インテグレーションの実行をトリガーした呼び出しを実行したアプリケーションに送信されます。

API プロバイダーインテグレーションを作成するためのワークフロー

API プロバイダーインテグレーションを作成するための 一般的な ワークフローを以下の図に示します。

General workflow for creating an API provider integration

API プロバイダーインテグレーションのパブリッシュ

API プロバイダーインテグレーションをパブリッシュした後、Fuse Online はインテグレーションの summary ページに REST API サービスの外部 URL を表示します。この外部 URL は、クライアントが REST API サービスを呼び出すために使用するベース URL です。

OCP 上の Fuse Online 環境では、Red Hat 3scale の API プロバイダーインテグレーションの検出が有効になっている可能性があります。この場合、3scale ではサービスを呼び出すための URL が公開されます。

API プロバイダーインテグレーションのテスト

API プロバイダーインテグレーションのフローをテストするには、curl ユーティリティーを使用できます。たとえば、以下の curl コマンドは、REST API サービス URL https://i-task-api-proj319352.6a63.fuse-ignite.openshiftapps.com/api/Get Task by ID オペレーションに対し、フローの実行をトリガーします。

HTTP GET コマンドはデフォルトのリクエストであるため、GET を指定する必要はありません。URL の最後の部分は、取得するタスクの ID を指定します。

curl -k https://i-task-api-proj319352.6a63.fuse-ignite.openshiftapps.com/api/todo/1

6.2. OpenAPI オペレーションを API プロバイダーインテグレーションフローと関連させる方法

API プロバイダーインテグレーションの OpenAPI ドキュメントは、REST API クライアントが呼び出しできるオペレーションを定義します。各 OpenAPI オペレーションには、独自の API プロバイダーインテグレーションフローがあります。そのため、各オペレーションは独自の REST API サービス URL を持つこともできます。各 URL は API サービスのベース URL で定義され、任意でサブパスによって定義されます。REST API 呼び出しは、オペレーションの URL を指定し、そのオペレーションのフローの実行をトリガーします。

OpenAPI ドキュメントは、REST API サービス URL への呼び出しに指定できる HTTP 動詞 (GETPOSTDELETE など) を決定します。API プロバイダー URL への呼び出しの例は、API プロバイダークイックスタートの例を試すための手順 を参照してください。

OpenAPI ドキュメントで、オペレーションによって返信可能な HTTP ステータスコードも判断されます。オペレーションのリターンパスでは、OpenAPI ドキュメントで定義される応答のみが処理されます。たとえば、ID を基にしてオブジェクトが削除されるオペレーションでは、以下のような応答を定義できます。

"responses": {
  "204": {
           "description": "Task deleted"
         },
  "404": {
           "description": "No Record found with this ID"
         },
  "500": {
            "description": "Server Error"
        }
}

API プロバイダーインテグレーションの例

以下の図は、人に関するデータを処理する API プロバイダーインテグレーションを示しています。外部の REST API クライアントは、API プロバイダーインテグレーションによってデプロイされた REST API URL を呼び出します。URL が呼び出されると、1 つの REST オペレーションに対するフローの実行がトリガーされます。この API プロバイダーインテグレーションには 3 つのフローがあります。各フローは、Fuse Online で利用可能なすべてのコネクションまたはステップを使用できます。REST API とそのフローは、1 つの OpenShift Pod にデプロイされる Fuse Online API プロバイダーインテグレーションの 1 つです。

API provider integration with 3 flows

API プロバイダーインテグレーションの作成時における OpenAPI ドキュメントの編集

API プロバイダーインテグレーションの OpenAPI ドキュメントを指定した後、API オペレーションの実行フローを定義するときに必要に応じてドキュメントを更新できます。これには、API プロバイダーインテグレーションを編集するページの右上にある View/Edit API Definition をクリックします。これにより、API Designer エディターに OpenAPI ドキュメントが表示されます。ドキュメントを編集および保存し、Fuse Online で変更が反映されるようにします。

OpenAPI ドキュメントの編集時に以下を考慮します。

  • 同期化の operationId プロパティー

    API Designer エディターの OpenAPI ドキュメントのバージョンと、Fuse Online インテグレーションエディターの OpenAPI ドキュメントのバージョンの同期は、ドキュメントに定義される各オペレーションに割り当てられた一意な operationId プロパティーに応じて行われます。特定の operationId プロパティー値を各オペレーションに割り当てるか、Fuse Online が自動生成する値を使用します。

  • リクエストと応答の定義

    オペレーションのリクエストおよび応答を定義する JSON スキーマを各オペレーションの定義に提供できます。Fuse Online は以下のように JSON スキーマを使用します。

    • オペレーションの入力および出力データシェイプのベースとして使用します。
    • データマッパーでオペレーションフィールドを表示するために使用します。
  • 循環スキーマ参照がない

    API プロバイダーインテグレーションオペレーションの JSON スキーマにはスキーマの循環参照を含めることはできません。たとえば、リクエストまたは応答ボディーを指定する JSON スキーマは、そのスキーマ自体を全体的に参照することはできず、中間スキーマを介してそのスキーマ自体を部分的に参照することもできません。

6.3. API プロバイダーインテグレーションの作成

API プロバイダーインテグレーションを作成するには、インテグレーションが実行できるオペレーションを定義する OpenAPI ドキュメント (.json.yaml、または .yml ファイル) を提供します。Fuse Online は各オペレーションの実行フローを作成します。各オペレーションのフローを編集し、そのオペレーションの要件に応じてインテグレーションデータを処理するコネクションおよびステップを追加します。

前提条件

  • インテグレーションが実行する REST API オペレーションの OpenAPI ドキュメントを提供または定義できる必要があります。

    検証するには、API プロバイダークイックスタートの OpenAPI ドキュメントである task-api.json ファイルの raw バージョンをダウンロード します。Fuse Online が OpenAPI ドキュメントの提供を要求したときに、このファイルをアップロードできます。この代わりに、raw の task-api.json ファイルである https://raw.githubusercontent.com/syndesisio/syndesis-quickstarts/1.9/api-provider/task-api.json を指定できます。

  • 各 OpenAPI オペレーションのフローが計画されている必要があります。
  • オペレーションのフローを追加する各アプリケーションまたはサービスのコネクションが作成済みである必要があります。

手順

  1. Fuse Online の左ナビゲーションパネルで Integrations をクリックします。
  2. 右上の Create Integration をクリックします。
  3. Choose a connection ページで API Provider をクリックします。
  4. Start integration with an API call ページで以下を行います。

    • REST API オペレーションを定義する OpenAPI ドキュメントがある場合は、OpenAPI ドキュメントをアップロードします。
    • OpenAPI ドキュメントを定義する必要がある場合は、Create a new OpenAPI 3.x document または Create a new OpenAPI 2.x document を選択します。
  5. Next をクリックします。

    • ドキュメントをアップロードした場合は、これを確認または編集します。

      1. Review/Edit をクリックして API Designer エディターを開きます。
      2. 必要に応じて確認や編集を行います。

        任意の手順: ドキュメントによって OpenAPI 2 仕様が使用される場合に、API Designer でドキュメントを変換して OpenAPI 3 仕様に準拠するようにするには、Convert to OpenAPI 3 をクリックします。

      3. 右上の Save または Cancel をクリックし、エディターを閉じます。
      4. Next をクリックします。
    • ドキュメントを作成する場合は、Fuse Online で起動される API Designer エディターで以下を行います。

      1. API Designer を使用した API 定義の設計および開発」の説明どおりに OpenAPI ドキュメントを定義します。
      2. 右上の Save をクリックし、エディターを閉じます。
      3. Next をクリックします。

結果

Fuse Online は OpenAPI ドキュメントが定義するオペレーションの一覧を表示します。

次のステップ

それぞれのオペレーションでは、そのオペレーションを実行するフローを定義します

6.4. API プロバイダーインテグレーションのオペレーションフローの定義

REST API サービスを定義する OpenAPI ドキュメントは、サービスが実行できるオペレーションを定義します。API プロバイダーインテグレーションの作成後、各オペレーションのフローを編集できます。

各オペレーションには必ず 1 つのフローがあります。オペレーションフローでは、コネクションを他のアプリケーションやサービスに追加でき、コネクション間のデータで操作するステップも追加できます。

オペレーションフローへ追加すると、API プロバイダーインテグレーションがベースとする OpenAPI ドキュメントの更新が必要であることがあります。これには、API プロバイダーインテグレーションを編集するページの右上にある View/Edit API Definition をクリックします。これにより、API Designer エディターにドキュメントが表示されます。OpenAPI 定義では、各オペレーションに固有の operationId プロパティーがある限り、API Designer に更新を保存することができ、Fuse Online は API プロバイダーインテグレーションのフロー定義を同期して更新が反映されるようにすることができます。

前提条件

  • API プロバイダーインテグレーションを作成し、名前を付け、保存している必要があります。
  • オペレーションフローが接続する各アプリケーションまたはサービスへのコネクションが作成済みである必要があります。詳細は、コネクションの作成に関する情報 を参照してください。
  • Fuse Online は API が定義するオペレーションのリストを表示します。

手順

  1. Operations リストページで、定義するフローのオペレーションに対して Create flow をクリックします。
  2. このフローに追加する各コネクションに対して以下を行います。

    1. フロービジュアライゼーションで、プラス記号をクリックしてその場所にコネクションを追加します。
    2. 使用するコネクションをクリックします。
    3. コネクションが実行するアクションを選択します。
    4. ラベルが付いたフィールドにデータを入力して、アクションを設定します。
    5. Next をクリックします。

    フローに必要なコネクションをすべて追加してから、続行します。

  3. このオペレーションフローでコネクション間のデータを処理するには、以下を行います。

    1. フロービジュアライゼーションで、ステップを追加する場所にあるプラス記号をクリックします。
    2. 追加するステップをクリックします。
    3. ラベル付が付いたフィールドにデータを入力して、ステップを設定します。
    4. Next をクリックします。

      ヘルプは「コネクション間のステップの追加」を参照してください。

    コネクションの間のデータを処理する別のステップを追加する場合は、この手順のサブセットを繰り返します。

  4. データを次のコネクションのフィールドにマップします。

    1. フロービジュアライゼーションで、コネクションが受信データを処理できないことを示す、データタイプ不一致の data mismatch アイコンを確認します。ここでは、データマッパーステップを追加する必要があります。
    2. フロービジュアライゼーションの各データ不一致アイコンに対して以下を行います。

      1. そのステップの直前にあるプラスマークをクリックします。
      2. Data Mapper をクリックします。
      3. 必要なマッピングを定義します。詳細は「インテグレーションデータを次のコネクションのフィールドにマッピング」を参照してください。
      4. Done をクリックして、データマッパーステップをフローに追加します。
  5. フロービジュアライゼーションの、Provided API Return Path ステップで Configure をクリックします。

    すべての API プロバイダーインテグレーションは、オペレーションフローの実行をトリガーした REST API の呼び出し元に応答を送信することで、各オペレーションフローを終了します。応答には、オペレーションのフローを終了する Provided API Return Path ステップのに設定した戻りコードの 1 つが含まれます。以下のように、Return Path ステップを設定します。

    1. Return Code フィールドの Default Response で、Fuse Online に表示されるデフォルトの応答を指定するか、下向きのキャレットをクリックしてスクロールし、希望のデフォルト応答を選択します。オペレーションフローを実行しても設定されたエラー応答がどれも返されなかった場合、フローはこの応答を送信します。通常、デフォルト応答の戻りコードはオペレーションに成功したことを意味します。
    2. 返されたメッセージのボディー部にエラーメッセージが含まれるようにするかどうかを Error Handling に指定します。

      通常、開発中はエラーメッセージを返すようにします。しかし、実稼働では機密情報が含まれる場合にエラーメッセージを非表示にする場合があります。エラーメッセージは、responseCodecategory、および message 要素が含まれる JSON 形式の文字列です。例を以下に示します。

         {
            responseCode: 404,
            category:  "SQL_ENTITY_NOT_FOUND_ERROR",
            message: "SQL SELECT did not SELECT any records"
          }
    3. Error Response Codes には、フローのコネクションが返す可能性がある各エラーのエントリーが表示されます。エラーごとに、デフォルトの戻りコードである 200 All is good を指定するか、クリックして別の HTTP ステータスの戻りコードを選択します。

      選択可能な戻りコードは、このフローで実行されるオペレーションのために OpenAPI ドキュメントで定義される戻りコードです。必要な戻りコードが Fuse Online に表示されない場合、OpenAPI ドキュメントを編集して追加できます。

      これを行うには、右上の View/Edit API Definition をクリックします。必要に応じて OpenAPI ドキュメントを編集します。編集し終わったら、OpenAPI ドキュメントを保存します。Fuse Online が Provided API Return Path の編集に戻り、保存した変更が反映されます。

    4. Next をクリックし、リターンパスの設定を完了します。
  6. このフローに、必要なコネクションとステップがすべてあり、データの不一致アイコンがない場合や、現時点でフローを編集しない場合は、以下の 1 つを行います。

    • Publish: インテグレーションの実行を開始するには、右上の Publish をクリックします。これにより、インテグレーションがビルドされ、REST API サービスが OpenShift にデプロイされます。さらにインテグレーションが実行できるようになります。オペレーションフローの作成を完了するときやオペレーションフローを編集するときに、インテグレーションをパブリッシュできます。
    • Save: オペレーションのリストを表示するには、右上の Save をクリックします。

この手順を繰り返して、別のオペレーションフローを編集します。

API プロバイダーインテグレーションのテスト

  • 以下のプラットフォームの 1 つで稼働している API プロバイダーインテグレーションのテスト

    • OpenShift Online
    • OpenShift Dedicated
    • API 検出が無効になっている 場合の OpenShift Container Platform

    curl ユーティリティーを使用すると、インテグレーションが想定どおりに動作していることを確認できます。curl コマンドに、API プロバイダーインテグレーションのパブリッシュ後に Fuse Online に表示される外部 URL を指定します。この例については「API プロバイダークイックスタートインテグレーションの例のテスト」を参照してください。

  • API 検出が有効になっている 場合の OpenShift Container Platform で稼働している API プロバイダーインテグレーションのテスト

    Red Hat 3scale は API プロバイダーインテグレーションをパブリッシュします。インテグレーションをテストするには、3scale ダッシュボードを開き、インテグレーションの URL を取得します。

    たとえば、Red Hat 3scale でインテグレーションの API へのアクセスを制御したくない場合や、Fuse Online で API プロバイダーをテストしたい場合は、API プロバイダーインテグレーションの検出を無効にできます。検出を無効にすると、インテグレーションが Fuse Online によって再パブリッシュされ、インテグレーションの実行を呼び出しおよびテストする外部 URL が提供されます。これには、Fuse Online でインテグレーションの概要ページに移動します。このページの Disable discovery をクリックします。Fuse Online によってインテグレーションが再パブリッシュされ、インテグレーションの URL が提供されます。インテグレーションのテスト方法の例は、「API プロバイダークイックスタートインテグレーションの例のテスト」を参照してください。テスト後に、API プロバイダーインテグレーションの検出を再度有効にすると、3scale でパブリッシュできるようになります。

    各 API プロバイダーインテグレーションの検出を有効または無効にすることができます。

6.5. API プロバイダークイックスタートインテグレーションの例のインポートおよびパブリッシュ

Fuse Online は、Fuse Online 環境にインポートできる API プロバイダークイックスタートインテグレーションを提供します。このクイックスタートには、タスク管理 API の OpenAPI ドキュメントが含まれています。クイックスタートインテグレーションをインポートした後、フローを確認し、インテグレーションをパブリッシュします。以下の手順の完了後、TaskAPI インテグレーションは稼働状態になり、実行される準備が整います。

API プロバイダークイックスタートは、API プロバイダーインテグレーションを設定、パブリッシュ、およびテストする方法を短時間で理解するのに役立ちます。しかし、API プロバイダーインテグレーションが便利であることを実証する実際の例ではありません。実例として、Fuse Online をすでに使用して、複数のシンプルなインテグレーションをパブリッシュしている場合に、このようなインテグレーションの実行をトリガーするために、OpenAPI ドキュメントを定義できます。これには、パブリッシュ済みのシンプルなインテグレーションとほぼ同じになるように、各 OpenAPI オペレーションのフローを編集します。

前提条件

  • Fuse Online がブラウザーで開かれている必要があります。

手順

  1. TaskAPI クイックスタートインテグレーションをインポートします。

    1. https://github.com/syndesisio/syndesis-quickstarts/tree/1.9/api-provider にアクセスし、TaskAPI-export.zip をダウンロードします。
    2. Fuse Online の左ナビゲーションパネルで Integrations をクリックします。
    3. 右上の Import をクリックします。
    4. ダウンロードした TaskAPI-export.zip ファイルを Import ページにドラッグします。Fuse Online は、ファイルが正常にインポートされたことを示します。
    5. 左側のナビゲーションパネルで Integrations をクリックし、先ほどインポートした TaskAPI インテグレーションのエントリーを表示します。設定が必要であるとエントリーに表示されますが、このインテグレーションをパブリッシュする準備は整っています。
  2. TaskAPI エントリーで Three Vertical Dots をクリックした後、Edit をクリックしてこの API によって提供されるオペレーションのリストを表示します。
  3. 各オペレーションのフローを確認するには、以下を行います。

    1. Edit flow ボタンをクリックし、そのフローのビジュアライゼーションを表示します。

      各フローにはすでに 1 つのデータベースコネクション、1 つ以上のデータマッパーステップ、およびフローを終了する 1 つの Provided API Return Path ステップが存在します。

    2. Invoke SQL ステップでは Configure をクリックし、コネクションが実行する SQL ステートメントを表示します。その後、Cancel をクリックし、オペレーションのビジュアライゼーションフローに戻ります。
    3. データマッパーステップでは、Configure をクリックし、マッピングを表示します。その後、Cancel をクリックしてビジュアライゼーションに戻ります。
    4. 各オペレーションのフローの最終ステップである Provided API Return Path ステップでは、Configure をクリックし、オペレーションによって呼び出し元に送信された可能性がある HTTP リターンコードを表示します。Cancel をクリックしてビジュアライゼーションに戻ります。
    5. オペレーションのフローの確認後、ドロップダウンメニューで Integrations> TaskAPI> Operation の順にクリックし、別のオペレーションを選択します。
    6. この手順を繰り返し、各フローを確認します。
  4. フローの確認後、Publish をクリックします。必要な場合はインテグレーション名を編集し、Save and publish をクリックします。

    Fuse Online は、このインテグレーションの概要ページを表示し、アセンブル、ビルド、デプロイ、およびインテグレーションの実行中にパブリッシュの進捗を表示します。

  5. TaskAPI インテグレーション概要ページに Running が表示されると、Fuse Online は Task API サービスの外部 URL を表示します。以下のような URL が表示されます。

    https://i-task-api-proj319352.6a63.fuse-ignite.openshiftapps.com/api/

    これは、Task API サービスを利用できる場所を示しています。REST API 呼び出しは、このベース URL で始まる URL を指定します。

    Fuse Online を OpenShift Container Platform で使用し、外部 URL がインテグレーションの概要ページにない場合、Red Hat 3scale の検出は有効になっています。これは、Red Hat 3scale によってインテグレーションの API へのアクセスが制御され、API プロバイダーインテグレーションもパブリッシュされることを意味します。インテグレーションをテストするには、3scale ダッシュボードを開き、インテグレーションの URL を取得します。

    インテグレーションの API へのアクセスを 3scale が制御しないようにするには、検出を無効にします。これは、Fuse Online でインテグレーションの概要ページを表示して行います。このページの Disable discovery をクリックします。インテグレーションが Fuse Online によって再パブリッシュされ、インテグレーションの実行を呼び出すための外部 URL が提供されます。

    各 API プロバイダーインテグレーションの検出を有効または無効にすることができます。

6.6. API プロバイダークイックスタートインテグレーションの例のテスト

Fuse Online の TaskAPI クイックスタートインテグレーションの稼働時に、HTTP リクエストを Task API サービスに送信する curl ユーティリティーコマンドを呼び出すことができます。HTTP リクエストを指定する方法によって呼び出しがトリガーするフローが判断されます。

前提条件

  • Fuse Online によって TaskAPI インテグレーションが Running 状態であることが示される必要があります。
  • Fuse Online 環境が OCP で稼働している場合、Fuse Online は API を 3scale に公開するよう設定されないか、TaskAPI インレグレーションの検出が無効になっています。

手順

  1. Fuse Online の左ナビゲーションパネルで Integrations をクリックします。
  2. TaskAPI インテグレーションエントリーで View をクリックし、インテグレーションの概要を表示します。
  3. インテグレーションの外部 URL をコピーします。
  4. ターミナルで以下のようなコマンドを実行し、インテグレーションの外部 URL を externalURL 環境変数に割り当てます。必ず、このサンプルコマンドの URL を、コピーした URL に置き換えてください。

    export externalURL="https://i-task-api-proj319352.6a63.fuse-ignite.openshiftapps.com/api"
  5. Create new task オペレーションに対してフローの実行をトリガーする curl コマンドを実行します。

    curl -k --header "Content-Type: application/json" --request POST --data '{ "task":"my new task!"}' $externalURL/todo
    • -k を指定すると、サーバーコネクションがセキュアでなくても curl は続行および動作します。
    • --header は、コマンドが JSON 形式のデータを送信することを示します。
    • --request は、データを格納する HTTP POST コマンドを指定します。
    • --data は、保存する JSON 形式のコンテンツを指定します。この例では、クォータは { "task":"my new task!"} です。
    • $externalURL/todo は呼び出す URL です。

      このコマンドは、HTTP POST リクエストを、Create new Task オペレーションのフローの実行をトリガーする Task API サービスに送信します。フロー実行により、新しいタスクがサンプルデータベースに追加され、以下のようなメッセージを返して実行された内容を示します。

    {"completed":false,"id":1,"task":"my new task!"}
  6. ID オペレーションによる Fetch task のフローの実行をトリガーする curl コマンドを実行します。

    curl -k $externalURL/todo/1

    タスクを取得するには、curl コマンドに URL のみを指定する必要があります。HTTP GET コマンドはデフォルトのリクエストです。URL の最後の部分は、取得するタスクの ID を指定します。

  7. ID オペレーションに対する Delete Task のフローの実行をトリガーする curl コマンドを実行します。

    curl -k -X DELETE $externalURL/todo/1

    このコマンドは、ID でタスクを取得したコマンドと同じ URL で HTTP DELETE コマンドを実行します。