APIリクエストを行う際には、開発、テスト、本番環境を切り替える必要があることがよくあります。Apidogでは、異なる環境にリクエストを送信することが簡単です。インターフェース右上で目的の環境をクリックして選択するだけです。Apidogの環境は、2つの主要な要素で構成されています。1.
Base URL: リクエストの送信先を保持します。
2.
変数: リクエストやスクリプト内で参照できる変数のグループです。
環境を切り替えると、Base URLと環境変数の両方に、現在の環境で定義された値が使用されます。環境を作成する#
1
環境管理を開くインターフェース右上の環境管理ボタン ≡ をクリックします。
2
新しい環境を作成する左側のリストの最後にある New Environment という項目をクリックします。
3
環境を設定する新しい環境の名前を入力します。Base URLと変数を追加します。 5
環境を選択する新しい環境を使用するには、インターフェース右上の環境セレクターから選択します。これにより、その環境がアクティブな環境になり、すべての変数がその環境で指定された値に設定されます。
Apidogでは、環境とBase URLが明確に分離されています。環境は異なるデプロイ段階(開発、テスト、本番)を表し、Base URLは各環境内で設定されます。この分離により、異なる環境にまたがる複数のサービスやマイクロサービスを管理する際に柔軟性が得られます。一方で、Apidogの環境は、各Base URLを1つの環境として扱うのではなく、開発、テスト、本番のような実際の環境を直接反映し ます。
Base URL#
Base URL は、Apidog環境における主要な機能です。Apidogでは、エンドポイントパスは通常スラッシュ(/)で始まり、Base URLを含みません。リクエストを送信する際、Apidogは送信先のBase URLをエンドポイントパスの前に付加します。標準化されたBase URL形式は、プロトコルで始まり、末尾のスラッシュ(/)を含みません。各Base URLは、特定のモジュールに対応します。ほとんどの場合、エンドポイントは所属するモジュールのBase URLを使用してリクエストを送信します。たとえば、Production 環境のデフォルトモジュールの Base URL が http://abc.com/v1 で、エンドポイントパスが /pet の場合、Production環境でリクエストを送信すると、実際に送信されるリクエストURLは次のようになります。エンドポイントパスが http:// または https:// で始まる場合、Base URLは追加されません。ただし、エンドポイントに完全なURLをハードコードすることは、一般的には推奨されません。
Apidogには、現在の環境の「Default Server」のBase URLを保存する BASE_URL という特別な環境変数があります。この変数を直接使用することは、一般的には推奨されません。推奨: 現在のエンドポイントのBase URLを取得するには、pm.request.getBaseUrl() を使用します。
避けるべき方法: pm.environment.get('BASE_URL') の使用。エンドポイントが「Default Server」を使用していない場合、Base URLを正しく取得できない可能性があります。
BASE_URL という名前の環境変数を手動で作成した場合、システムで事前定義されている BASE_URL よりも優先されます。注: スクリプトでBase URL設定自体を変更することはできません。pm.environment.set('BASE_URL', 'My_url') というコマンドは、BASE_URL という名前の変数を作成するだけです。 モジュールで複数のBase URLを使用する#
プロジェクトのエンドポイントが複数のBase URL(例: マイクロサービス)に接続する必要がある場合、Apidogで複数のモジュールを使用して管理するのが最適な方法です。ユーザーエンドポイント: https://user.example.com
注文エンドポイント: https://order.example.com
商品エンドポイント: https://product.example.com
1
モジュールを作成するAPIフォルダツリーの上部で、サービスに対応する複数のモジュールを追加します。 2
Base URLを設定する環境管理で、各モジュールの Base URL を設定するフィールドが表示されます。各環境のURLを入力し、Save をクリックします。 3
モジュールのBase URLを設定するモジュールのルートフォルダ設定で、そのモジュールのエンドポイントが使用するBase URLを選択します。デフォルト設定: そのモジュールに一覧表示されている最初のBase URLを使用します(推奨)。
手動指定: 別のBase URLを手動で選択します。(ほとんどの場合は推奨されません)。
4
継承サブフォルダまたは個別のエンドポイントでも、Base URLを指定できます。親から継承: 親フォルダに従います(デフォルト)。
5
リクエストを送信する設定が完了したら、Send をクリックするだけです。Apidogは、モジュールと環境の設定に基づいて適切なBase URLを判断します。
環境変数を追加する#
環境に変数を追加する際には、2つの値を指定できます。環境を切り替える#
Apidogでは、ワークベンチ右上の環境セレクターに現在の環境が表示されます。リクエストを行う場合やスクリプトを実行する場合、Apidogは選択された環境内のすべての変数について現在値を使用します。切り替えるには、セレクターから別の環境を選択するだけです。エンドポイント: API仕様です(パスは通常 / で始まります)。
リクエスト: 実際に送信されるHTTPリクエストです(完全なURLを含みます)。
環境で定義されたサービスは、エンドポイントに適用されます。Postmanと同様のアドホックなデバッグのためにリクエストタブを使用する場合は、必要に応じて {{Base_url}} 構文を使用できます。環境の移行#
Apidogでは、変数の初期値はチーム内で同期されますが、現在値はローカルにのみ保存されます。つまり、現在値は他のデバイスには引き継がれません。Apidogでは、マシン間で環境(ローカルの現在値を含む)を移行するためのエクスポート/インポート機能が提供されていま す。1
エクスポート環境管理で、環境の横にある ... にカーソルを合わせ、Export をクリックしてJSONファイルを取得します。 2
インポート移行先のコンピューターで環境管理を開き、... にカーソルを合わせ、Import をクリックしてJSONファイルを選択します。
環境の表示範囲#
共有したくない変数には、プライベート環境を作成できます。プライベート環境は、他の環境と同じサービス一覧(Base URL)を共有します。プライベート環境でサービスを追加または削除すると、すべての環境に同時に影響します。
FAQ#
カスタムスクリプトでサービスのBase URLを取得するにはどうすればよいですか?現在のエンドポイントのBase URLを取得するには、pm.request.getBaseUrl() を使用します。