Postmanは、開発者がAPIを設計、構築、テストするためのプラットフォームを提供する堅牢なツールです。その主な機能の1つは、POSTリクエストを含むHTTPリクエストを構築して送信できる能力です。
この記事では、POSTリクエストボディの変数について詳しく説明し、Postmanのボディ変数に関するすべてをお伝えします。
PostmanのPOSTリクエストボディ変数の理解
POSTボディ変数は、PostmanのPOSTリクエストのリクエストボディ内で使用される動的なプレースホルダーです。これにより、静的な値を変数で置き換え、APIテストをより柔軟、再利用可能、効率的にすることができます。
POSTボディ変数の種類
Postmanで使用できる変数にはいくつかの種類があります:
- 環境変数:これは環境レベルで定義された変数で、複数のコレクションやリクエスト間で値を保存して再利用することができます。
- データ変数:これらの変数は特定のリクエストやコレクション内で作成され、通常は一時的なデータまたはレスポンスから抽出された値を保存するために使用されます。
- グローバル変数:これらの変数はグローバルレベルで定義されており、すべての環境およびコレクションでアクセス可能です。
- コレクション変数:これらの変数は特定のコレクションに特有で、そのコレクション内のリクエスト間でデータを共有するために使用できます。
POSTボディ変数の使用
リクエストボディ内で変数を使用するには、通常、二重波括弧 {{}}
で囲みます。たとえば、username
という名前の環境変数がある場合、リクエストボディで次のように使用できます:
{
"username": "{{username}}"
}
また、pm.variables.get()
関数を使用して、プログラム的に変数の値を取得し、リクエストボディに挿入することもできます。
PostmanでのPOSTリクエストボディ変数操作のためのスクリプト例
Postmanのスクリプト機能を使用すると、ランタイム中にPOSTリクエストボディ変数を動的に操作できます。以下は一般的な例です:
例1 - 変数の値を設定する:
pm.variables.set("myVariable", "こんにちは、世界!");
このスクリプトは、myVariable
の値を「こんにちは、世界!」に設定します。この変数をリクエストボディで使用できます。
例2 - 変数の値を取得する:
var myVariableValue = pm.variables.get("myVariable");
console.log(myVariableValue); // 出力: こんにちは、世界!
このスクリプトは、myVariable
の値を取得し、コンソールにログ出力します。
例3 - 変数の連結:
var firstName = "ジョン";
var lastName = "ドウ";
pm.variables.set("fullName", firstName + " " + lastName);
このスクリプトは、firstName
と lastName
の変数を連結し、その結果を fullName
変数に設定します。
例4 - JSONデータの修正:
var jsonData = pm.request.body.raw();
jsonData.name = "更新された名前";
pm.request.body.raw = jsonData;
このスクリプトは、リクエストボディからJSONデータを取得し、name
プロパティを修正して、修正されたデータをリクエストボディに再度設定します。
例5 - 条件付きロジック:
var age = pm.variables.get("age");
if (age >= 18) {
pm.variables.set("isAdult", true);
} else {
pm.variables.set("isAdult", false);
}
このスクリプトは、age
変数の値をチェックし、isAdult
変数をそれに応じて設定します。
例6 - 環境変数の使用:
var baseUrl = pm.environment.get("baseUrl");
pm.variables.set("apiUrl", baseUrl + "/api");
このスクリプトは、環境から baseUrl
を取得し、これを使用して apiUrl
を構築します。
Apidog - モダンで流動的なPostmanの代替
仕事をこなせる多くのPostmanの代替ツールがあります。開発者の方にはそのようなツールを探している方にお勧めです。

強くお勧めするAPIプラットフォームの1つがApidogです。Apidogは、APIライフサイクル全体に必要なすべてのツールを提供します。APIを構築、テスト、モック、ドキュメント化するすべてを1つのアプリケーション内で行うことができます。
Apidogを使用してPOSTリクエストボディ変数を操作することもできますので、ぜひその方法を見てみてください。
Apidogでのポストプロセッサースクリプトの活用

Apidogは、カスタムスクリプトの実装を通じてポストプロセスロジックをカスタマイズすることを可能にします。この柔軟性により、データの操作、検証、およびその他のポストリクエスト操作が行えます。主張メカニズムや公共にアクセス可能なスクリプトなど、幅広い事前定義されたポストプロセッサーが用意されています。

テストシナリオによる包括的なAPIテスト

Apidogの革新的なテストシナリオ機能は、複数のAPIの連続実行と検証を容易にします。このアプローチは、相互に接続されたAPIで作業する開発者に特に価値があり、実際のワークフローのシミュレーションと依存関係の特定を可能にします。
詳細なレポートによる正確なAPI評価

テストシナリオの完了時に、Apidogはテスト結果の詳細な分析を提供する包括的なレポートを生成します。これらのレポートには、成功したリクエストと失敗したリクエストの数、APIチェーンの全体実行時間などの指標が含まれます。
結論
PostmanのPOSTボディ変数は、APIテストの効率と柔軟性を向上させるための強力なメカニズムを提供します。これらの変数を効果的に活用することで、開発者はリクエストペイロードを動的に埋め込み、さまざまなシナリオをシミュレートし、テストプロセスを合理化できます。環境変数からデータ変数まで、さまざまなタイプの変数を作成および管理できる能力は、高度なカスタマイズ性と再利用性を提供します。
結論として、Postman内でのPOSTボディ変数の理解と習得は、テストワークフローを最適化しようとするすべてのAPIテスターや開発者にとって不可欠です。これらの変数を活用することで、より堅牢で効率的、信頼性の高いAPIテストを作成し、最終的には高品質なアプリケーションの開発に貢献します。