前/後処理はデータベースの追加をサポートしている。データベースを選択して接続すると、データテーブルに対してCRUD操作などができる。これらの操作結果はコンソールに表示したり、変数として抽出したりできる。抽出した変数は、他のAPIのパラメータやアサーション、カスタムスクリプト、他のデータベースとのやり取りなど、様々な場面で使える。使い方#
1
実行タブ(設計優先)またはリクエストタブ(リクエスト優先)で、後処理に移動する。
2
「後処理を追加」にカーソルを合わせて、「データベース操作」を選択する。
3
データベース操作に名前を付けて、データ ベース接続を選択する。
4
SQLコマンドを入力する。コマンド内で
{{variables}}
を使うことができる。
例えば、次のように SQL を使用できます:
5
SELECT文の結果を変数として抽出することができる。「結果を変数として抽出」を設定する。JSONPathがサポートされている。
SELECT文の結果は配列として取得され、各行が配列の要素となる。
例えば、JSONPath $[0].uid
を使うと、結果の最初の行の「uid」フィールドの値を抽出できる。
6
「送信」をクリックしてリクエストを実行する。コンソールでデータベース操作の結果を確認できる。
Apidogは標準的なSQLクエリをサポートしているけど、ストアドプロシージャなどの複雑なSQL操作には対応していない。
データベース接続#
Apidog無料版は以下のタイプのデータベースへの接続をサポートしている:有料版にアップグレードすると、さらに以下のデータベースへの接続もサポートされる:1
設定 -
データベース接続に移動する

2
右上の「新規」をクリックして、新しいデータベース接続エントリーを作成する。
3
利用可能なオプションからデータベースタイプを選択し、ホスト、ポート、データベース名、ユーザー名、パスワードなどの必要な接続情報を入力する。
4
ユーザー名とパスワードでローカルにデータベースに接続する以外に、データ送信をより安全に保護するためにSSHトンネルを通じて接続することもできる。
5
「保存」をクリックすると、このデータベース接続をポストプロセッサーで選択できるようになる。
Apidogはデータのセキュリティを重視している。データベースのアドレス、ポート、ユーザー名、パスワード、データベース名はクライアント側にローカルで保存され、クラウドには同期されない。同じチーム内でも、メンバー間でデータベース接続情報は同期されず、各メンバーが手動で設定する必要がある。
現在、最新のmysqlモジュールはMySQL8のデフォルトの暗号化方式である caching_sha2_password
を完全にサポートしていない。mysql_native_password
モードを指定する必要がある方法を使用して、MySQLアカウントのパスワードを変更する必要がある。他のツールを使ってMySQLに接続し、以下のSQLを実行して対応するアカウントのパスワードを変更してね。上記のusernameとパスワードは手動で置き換えてね。 複数環境でのデータベース操作の使用#
テスト環境や本番環境など、複数の環境で作業する場合、それぞれ異なるデータベースが設定されていることが多い。ワークフローでデータベース操作を使用している場合、環境の切り替えに合わせてこれらの操作も切り替える必要がある。このような場合、Apidogの「データベース接続」設定で複数のデータベース接続を設定できる。各環境用のデータベース接続を設定しておけば、右上のドロップダウンメニューで環境を切り替えると、データベースクエリは自動的にその環境に関連付けられたデータベース接続に振り分けられる。NoSQLデータベースの使用#
Apidog CLIでのデータベース操作の使用#
Apidogは、コマンドラインインターフェース(CLI)を使用して、どのプラットフォームでもテストシナリオを実行できる。CLIを使用することで、サーバーからテストシナリオの設定をリアルタイムで取得して効率的に実行できる。ただし、データベース操作はローカルに保存されるため、CLIからデータベース設定に動的にアクセスすることができない。この場合、データベース操作を設定ファイルとしてエクスポートし、CLIを実行するマシンに配置する必要がある。詳しくはApidog CLIを参照してね。FAQ#
Q: Apidogで複数のSQLクエリを1つのデータベース操作にまとめることはできる?A: Apidogの各データベース操作では、1つのSQLクエリしか実行できない。複数のSQLクエリを実行する必要がある場合は、別々のデータベース操作に分けて実行する必要がある。