はじめに
IBM API Connectは、外部へのAPIエンドポイントとして公開し、バックエンドシステムへリクエストを中継する使い方が一般的です。
API Connectでのアセンブリ(APIの動作定義)を開発中で、バックエンドシステムが利用できない時、スタブAPIを利用しテストを行いたいシーンがあります。
そんな時、API Connect上で簡単にスタブAPIを作成する方法をご紹介します。
環境
IBM CloudのAPI Connectサービス(2019.06時点)
アセンブル定義
名前などのAPIの基本設定は省略し、さっそくアセンブルの定義方法を紹介します。
手順は、以下の2つです。
- 変数の設定ポリシーを配置
- 変数名(設定)フィールドに「message.body」、値フィールドにレスポンス値を設定
さらに、HTTPヘッダーを設定したい場合は、「message.headers.ヘッダー名」を設定します。
動作確認
次に、このAPIの動作確認をしてみましょう。
アセンブリー画面にはテスト機能が備わっており、今回はこれを利用します。
次に、このAPIを追加する製品を新規作成および公開(≒デプロイ)を行います。
動作確認の準備が整ったので、APIを実行してみましょう。
まず、操作(メソッド + 実行対象のAPIパス)を選択し、呼び出しを実行します。
レスポンスが表示されます。
HTTPヘッダーのContent-TypeとBodyにアセンブルで定義した内容がレスポンスされていることが分かります。
最後に
API Connectでは、「message.body」、「message.headers」に、APIレスポンスを設定します。
これらの変数は、APICで、以下の順に設定され、最終的なAPIレスポンスとして採用されます。
クライアントから受信した値 => Invokeポリシーで呼びしたバックエンドからのレスポンスで上書き
今回、ご紹介した方法は、上記変数を「変数の設定ポリシー」で更新するという方法です。