Postmanの入門から精通へ:JSONエクストラクタでのAPIチェーンの実装

この記事では、PostmanのJSONエクストラクターの実用的な使用方法を探ります。テストプロセスを自動化し、手動でのデータ処理を減らすためのアプローチを紹介します。

PostmanはAPIのデバッグとテストにおける定番ツールであり、開発者が習得すべき必須スキルの一つです。この記事では、テストプロセスを簡素化するための重要なテクニックであるJSONエクストラクタを使用したAPIチェーンの実装方法をハンズオンで探ります。

Postmanマスターシリーズ:インストール、サインアップ、ログインまで
このガイドは、APIの管理とテストが単なる作業でなく、開発の楽しい部分となる世界への最初の一歩です。
Postman.png

APIのテスト中、開発者はしばしばリクエスト同士をリンクさせる、いわゆる「チェーン」を作成する課題に直面します。手動でこれらのリンクを扱うのは面倒でエラーを起こしやすいです。例えば、「create a new user」APIのレスポンスからusernameを抽出し、それを「get user info」のリクエストに自動的に挿入する必要があるシナリオを考えてみてください。このプロセスを効率的に行うにはどうすればよいでしょうか?

この課題を達成するためには主に2つの方法があります:

  1. JSONエクストラクタを使用したAPIチェーン。
  2. 正規表現エクストラクタを使用したAPIチェーン。

この記事では、JSONエクストラクタを使用したAPIチェーンの実装方法に焦点を当てます。

JSONエクストラクタを使用したAPIチェーンの設定

ステップ1: 「Create a New User」APIのテストセクションにアクセス

最初に、「create a new user」APIのポストレスポンスタブに移動します。このエリアでは、リクエストが行われた後のアクションをスクリプト化できます。

Post-response.jpg

まず、レスポンスボディをコンソールに出力します。

console.log(responseBody);

ここで、responseBodyはリクエストから返されたデータを示します。インターフェースの右下にあるコンソールパネルで出力された情報を確認できます。

console.jpg

ステップ2: ユーザー名を抽出する

JSONエクストラクタを使用して、レスポンスからusernameの値を取得します。

まず、返されたデータ文字列をオブジェクトに変換します。

var result = JSON.parse(responseBody);
responseBody.jpg
API開発を向上させる:JSONスキーマエディタの活用法
API開発プロセスを効率化したいですか?JSONスキーマエディタがワークフローをどう変革し、EchoAPIのツールがなぜ画期的なのかを発見しましょう。リアルタイムのバリデーションからシームレスな統合まで、このガイドではJSONスキーマを最適化し、API開発を強化するためのすべてがカバーされています。

次に、ユーザー名が正しく抽出されたことを確認するために、以下を出力します。

console.log(result.user.username);
console.jpg

ステップ3: ユーザー名をグローバル変数としてセット

ユーザー名が正しく抽出されたことを確認したら、それをグローバル変数として保存します。

pm.globals.set("username", result.user.username);

このコマンドは、ユーザー名をグローバル変数に割り当て、異なるリクエスト間でアクセス可能にします。

globals.jpg

グローバル変数が正しく設定されているか確認するには、Postmanの右上にあるボタンをクリックして、グローバル変数を表示します。

global variable.jpg

ステップ4: 「Get User Info」APIでグローバル変数を参照

「get user info」APIでは、グローバル変数の構文{{username}}を使用して、抽出したユーザー名を参照できます。これにより、あるAPIの結果が自動的に別のリクエストに情報を提供するシームレスなAPIチェーンが可能になります。

using the global variable.jpg

まとめ

PostmanでJSONエクストラクタを利用することで、APIチェーンのプロセスを簡素化し、テストワークフローをより効率的でエラーが発生しにくいものにできます。開発者として、この機能をマスターすることで、時間を節約するだけでなく、テストの堅牢性を向上させることができます。リクエスト間でデータを自動的に渡す能力は、APIテストプロセスの整合性と連続性を確保するのに役立つ強力な機能です。