API を扱う際には、リクエストでさまざまな種類のデータを送信する方法を理解することが重要です。Apidog は、異なるパラメータやボディデータ型を使用して API リクエストを構築し送信するための、使いやすいインターフェースを提供します。パラメータ#
パラメータを使用すると、サーバーに追加情報を送信できます。Apidog は、主に 2 種類のパラメータをサポートしています: Query params と Path params です。Query Params#
クエリパラメータは、疑問符 (?) の後に URL の末尾へ追加され、アンパサンド (&) で区切られます。サーバーに任意または追加のデータを送信するために使用されます。Apidog では、API リクエストにクエリパラメータを追加する便利な方法が 2 つあります。1.
URL に直接追加する: アドレスバーの URL の末尾にクエリパラメータを直接追加できます。例:https://api.example.com/users?page=1&limit=10
2.
Query Params セクションを使用する: Apidog は、URL 入力フィールドの下に 専用の Query Params セクションを提供しています。ここでは、使いやすいインターフェースを使用してクエリパラメータの追加、編集、削除ができます。このセクションで追加したパラメータは、リクエスト URL に自動的に追加されます。
Query Params における等号#
一部の特殊なケースでは、クエリパラメータがキーと値のペアとして表示されない場合があります。たとえば、リクエスト URL は次のようになることがあります。https://api.example.com/users?available
この場合、available は空の値を持つパラメータとして機能します。値が空の場合、Apidog はキーと値の間の等号を自動的に省略します。この等号を省略したくない場合は、手動で「Add an equal sign」に変更できます。Path Params#
パスパラメータは URL パス自体の一部であり、通常は特定のリソースを識別するために使用されます。URL 内のプレースホルダーで表され、通常は波括弧 {} で囲まれます。https://api.example.com/users/{userId}
Apidog では、上記のように API URL 内でパスパラメータを定義でき、それらは下部のパスパラメータセクションに表示されます。パスパラメータセクションでパスパラメータの値を入力でき、リクエストが送信されると、{param} は実際の値に置き換えられま す。この機能は、URL 内でリソース識別子を使用する RESTful API をテストする場合に特に便利です。パスパラメータで変数を使用する必要がある場合は、まず URL で {param} を使用し、その後 param の値で {{variable}} を使用する方法を推奨します。
ボディ#
リクエストボディは、POST、PUT、または PATCH リクエストの一部としてサーバーにデータを送信するために使用されます。Apidog は、さまざまな API 要件に対応するため、複数のボディデータ形式をサポートしています。ボディタイプの比較#
次の表は、利用可能 なボディタイプの簡単な比較です。| ボディタイプ | Content-Type | ユースケース | ファイルアップロード対応 |
|---|
| form-data | multipart/form-data | ファイルを含むフォーム送信 | ✓ はい |
| x-www-form-urlencoded | application/x-www-form-urlencoded | シンプルなフォーム送信 | ✗ いいえ |
| JSON | application/json | 構造化データの交換 | ✗ いいえ |
| XML | application/xml | レガシーシステム、SOAP API | ✗ いいえ |
| raw | Custom (text/plain, etc.) | カスタムデータ形式 | ✗ いいえ |
| binary | application/octet-stream | ファイルアップロード、バイナリデータ | ✓ はい |
| GraphQL | application/json | GraphQL クエリ/ミューテーション | ✗ いいえ |
| msgpack | application/msgpack | 高性能なデータ転送 | ✗ いいえ |
Form-data は、HTML フォームを送信する場合と同様に、キーと値のペアを送信する方法です。この形式は、他のデータと一緒にファイルをアップロードする必要がある場合に特に便利です。form-data タイプのボディは、リクエスト内で multipart/form-data として表示されます。ボディ内の各パラメータについて、string、integer などの型を選択できます。form-data で JSON を送信する: form-data で JSON を送信する必要がある場合は、パラメータの型を string に設定し、その後 string フィールドに JSON を入力する必要があります。ファイルを送信する: リクエストでファイルを送信する必要がある場合は、型として file を選択し、「Upload」をクリックしてローカルファイルを選択します。Apidog はリクエスト内でファイルを送信するだけで、クラウドにはファイルを保存しません 。そのため、チームで共同作業を行う場合、他のメンバーはこのリクエストを確認できますが、このファイルを直接送信することはできません。他のメンバーが送信できるようにするには、別の方法でこのファイルを同僚に共有する必要があります。
この形式はクエリパラメータに似ていますが、リクエストボディ内で送信されます。ファイルアップロードを伴わないシンプルなフォーム送信によく使用されます。Apidog では、キーと値のインターフェースを使用して x-www-form-urlencoded データを簡単に追加および編集できます。JSON#
JSON は、API リクエストおよびレスポンスで広く使用されているデータ形式です。エンドポイントの Request → Body → JSON セクションでデータスキーマを設計できます。JSON データスキーマを設計する際は、各フィールドを手動で追加する代わりに、Apidog の Generate from JSON 機能を使用してスキーマをすばやく作成できます。フィールドを手 動で追加する場合、デフォルトのデータ型は string です。ネストされたフィールドを追加する必要がある場合は、フィールドタイプを object または array に変更します。JSON にコメントを追加したい場合は、Settings → General settings → Feature settings → Advanced settings で「JSON with comments support」を有効にできます。JSON を送信する際、これらのコメントは自動的に削除されます。
XML#
XML (eXtensible Markup Language) は、API 通信で使用されるもう 1 つの一般的なデータ形式です。Apidog は XML ペイロードをサポートしており、API リクエストで XML 形式の構造化データを送信できます。raw#
raw オプションを使用すると、リクエストボディで任意のカスタムデータ形式を送信できます。これは、他のオプションではカバーされない特定のデータ構造や形式を想定する API を扱う場合に便利です。binary#
このオプションを使用するとバイナリデータを送信できます。ファイルをアップロードする場合や、バイナリペイロードを想定する API を扱う場合に特に便利です。Apidog では、API リクエストの一部としてバイナリファイルを選択して送信できます。GraphQL#
GraphQL を使用する API 向けに、Apidog は専用の GraphQL エディターを提供しています。この機能により、シンタックスハイライトとオートコンプリートを備えた GraphQL クエリおよびミューテーションを構築して送信できます。GraphQL API の操作方法について詳しくは、Apidog の GraphQL ドキュメントをご確認ください。
msgpack#
MessagePack (msgpack) は、JSON よりもコンパクトで高速なバイナリシリアライズ形式です。Apidog は msgpack データの送信をサポートしており、パフォーマンスやデータ転送量の削減に最適化された API を扱う場合に有用です。