3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

1分で作る! API ConnectでスタブAPI

Last updated at Posted at 2019-06-05

はじめに

IBM API Connectは、外部へのAPIエンドポイントとして公開し、バックエンドシステムへリクエストを中継する使い方が一般的です。

API Connectでのアセンブリ(APIの動作定義)を開発中で、バックエンドシステムが利用できない時、スタブAPIを利用しテストを行いたいシーンがあります。

そんな時、API Connect上で簡単にスタブAPIを作成する方法をご紹介します。

環境

IBM CloudのAPI Connectサービス(2019.06時点)

アセンブル定義

名前などのAPIの基本設定は省略し、さっそくアセンブルの定義方法を紹介します。

手順は、以下の2つです。

  1. 変数の設定ポリシーを配置
  2. 変数名(設定)フィールドに「message.body」、値フィールドにレスポンス値を設定

assemble.png

さらに、HTTPヘッダーを設定したい場合は、「message.headers.ヘッダー名」を設定します。
HTTPHeader.png

動作確認

次に、このAPIの動作確認をしてみましょう。
アセンブリー画面にはテスト機能が備わっており、今回はこれを利用します。

まずはテスト機能の表示します。
assemly-test.png

次に、このAPIを追加する製品を新規作成および公開(≒デプロイ)を行います。
test-create-product.png

動作確認の準備が整ったので、APIを実行してみましょう。
まず、操作(メソッド + 実行対象のAPIパス)を選択し、呼び出しを実行します。
test-call.png

レスポンスが表示されます。
HTTPヘッダーのContent-TypeとBodyにアセンブルで定義した内容がレスポンスされていることが分かります。
test-result.png

最後に

API Connectでは、「message.body」、「message.headers」に、APIレスポンスを設定します。

これらの変数は、APICで、以下の順に設定され、最終的なAPIレスポンスとして採用されます。
クライアントから受信した値 => Invokeポリシーで呼びしたバックエンドからのレスポンスで上書き

今回、ご紹介した方法は、上記変数を「変数の設定ポリシー」で更新するという方法です。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?