APIサーバーサイドの仕様などの原因によって、APIテストの際にArray(配列)をform-dataフォーマットで送信する必要があります。それでは、PostmanでArray(配列)をform-dataで送信するには、どうしたらいいですか?本文では、Postmanでの簡単な実装方法を皆さんに紹介します。
また、Apidogは完全無料で利用可能なツールになりますが、次のボタンからこのツールを無料で取得することが可能です。
Array(配列)をform-dataで送信するのがなぜ?
APIテストの際にArray(配列)をform-dataで送信する必要があります。form-dataは、任意のデータ形式(テキスト、ファイル、配列など)を送信するための便利な方法です。配列をform-dataでこの方法で送信する必要がある理由は、主に以下の2点があげられます。
HTTPプロトコルの仕様
HTTPプロトコルは、リクエストボディの受け渡し方法としてform-dataを定義しています。form-dataはキーと値のペアで構成され、1つのキーに対して複数の値を関連付けることができます。これにより、サーバー側で受け取った値を配列として扱うことが可能になります。
サーバーサイドの実装
サーバーサイドの実装によっても、form-dataでの配列の受け渡し方法が決まります。多くのWebアプリケーションフレームワーク(Rails、Express、Django等)は、form-dataでの配列の受け渡しをサポートするよう設計されています。つまり、この形式でデータを送信しないと、サーバー側で適切に配列として解釈されない可能性があります。
このように、HTTPプロトコルの仕様とサーバーサイドの実装の両方が、form-dataでのこの配列の送信方法を規定しているのです。他の方法(JSONなど)で配列を送信することも可能ですが、その場合はサーバー側でそれに対応した実装が必要になります。form-dataは広く採用されている標準的な方法なので、サーバー側の実装も容易です。
PostmanでArray(配列)をform-dataで送信
Postmanは、API(Application Programming Interface)開発とテストのための人気のあるツールです。Postmanを使用すると、開発者はHTTPリクエストを作成し、APIエンドポイントに送信することができるので、APIの動作をテストしたり、リクエストとレスポンスのデータを確認したりできます。
![](https://assets.apidog.com/blog-ja/2023/10/postman-tutorial-article.png)
それでは、汎用されるAPIテスト用のツールPostmanを使って、Array(配列)をform-dataで送信するにはどうしたらいいですか?次はその詳細の操作ガイドを皆さんに紹介します。
PostmanでHTTP POSTリクエストを作成
Bodyデータをform-dataフォーマットで渡すために、基本的にはHTTP GETメソッドを使うことがありません。そこで、PostmanでHTTP POSTかPUTリクエストを作成しましょう。
![Postmanでリクエストを作成](https://assets.apidog.com/blog-ja/2024/04/postman-array-form-data-1.png)
form-dataでArray(配列)をキーと値に入力
そして、エンドポイントURLを入力した上、「Body」→「form-data」の順に選択します。そして、KeyとValueを入力します。ここで同じなKeyを複数個入力すれば、リクエストを送信する場合は、これらのKeyとValueが自動的にArrayに変換します。
![同じなKeyを複数個入力](https://assets.apidog.com/blog-ja/2024/04/postman-array-form-data-2.png)
送信したform-dataを確認
最後に、レスポンスを確認すると、先にform-dataで入力したKeyとValueのデータがArray(配列)になりましたね。
![結果を確認](https://assets.apidog.com/blog-ja/2024/04/postman-array-form-data-3.png)
上記のように、Postmanでarrayデータを簡単にform-dataフォーマットで送信することができます。
Apidogでより便利にform-dataでArrayデータを送信する
Postmanの代わりに、Apidogを使ってform-dataでArrayデータを簡単に送信できます。ApidogはPostmanより強力的なAPIクライアントツールとして、API設計、ドキュメンテーション、テストやモックサーバーなどの機能にも対応しています。
APIテストの際、Arrayデータをform-dataとして送信する場合でも、Apidogによって以下のように簡単に実現できます。
ステップ⒈Apidogを開き、POSTリクエストを新規に作成して、Bodyタブに切り替えて、form-dataを選択します。ここで、パラメータ名を入力して、データのタイプを直接に「array」に指定することができます。
![データのタイプを直接に「array」に指定](https://assets.apidog.com/blog-ja/2024/04/apidog-formdata-array-1.png)
ステップ⒉arrayデータに複数の値がある場合、「+」アイコンをクリックして、値を何個でも追加することもできます。
![arrayデータに複数の値を追加](https://assets.apidog.com/blog-ja/2024/04/apidog-formdata-array-2.png)
ステップ⒊「送信」ボタンをクリックしてリクエストを送信すると、「実際のRequest」で送信したデータを確認できると、Arrayデータがform-dataで送信されたかどうかを確認することができます。
![送信したデータを確認](https://assets.apidog.com/blog-ja/2024/04/apidog-formdata-array-3.png)
上記のように、ApidogでAPIをテストする際、form-dataでデータのタイプを直接にarrayに指定することもできますし、レスポンスの「実際のRequest」タブで簡単に送信したarrayデータを確認できますので、非常に便利です。
まとめ
この記事では、APIテストの際にArray(配列)をform-dataで送信する必要がある理由と、Postmanを使って実際にform-dataでArray配列を送信する方法を紹介しました。
また、Apidogというより便利なツールでは、form-dataのパラメータタイプをArrayに直接指定でき、値も簡単に追加できるので便利である。また、実際のRequestタブで送信したArray配列データを確認できるので、Postmanより優れたソリューションだと考えても良いのでしょう。
APIテストの際に配列データをform-dataとして送る必要があるケースでは、このような手順で送信を行うことができます。Postmanの他に、Apidogなどの強力なAPI開発ツールを活用することで、より効率的にAPIテストを実施できます。