Mockデータを自動生成
Apidogは、追加の設定なしでAPI仕様に基づいて直接データをモックする機能をサポートしています。これを「Smart mock」と呼びます。
Smart mockデータは以下の3つのソースから生成されます:
a) プロパティ名に対応するMock式
b) レスポンス仕様のプロパティ内のMockフィールド
c) レスポンス仕様内のJSON Schema
名前による自動モック
Smart mockのコアアルゴリズムは、プロパティのタイプと名前に基づいて自動的にモックデータをマッチングします。Apidogには、一連の組み込みマッチングルールが用意されています。タイプと名前がルールに一致する場合、そのルールに従ってデータがモックされます。
これらの組み込みルールは、設定 → 一般設定 → 機能設定 → Mock設定で確認できます。組み込みルールは、ワイルドカードまたは正規表現を使用して名前文字列をマッチングします。
組み込みルールが不十分な場合は、カスタムマッチングルールを作成できます。「新規作成」をクリックして新しいマッチングルールを作成します。条件詳細に合致するプロパティは、設定されたMock式に従ってデータを生成します。
プロパティ名がどのルールにも一致しない場合、プロパティタイプに基づいてデフォルトのモック値が生成されます。
Mockフィールドに従ったモック
レスポンス仕様のプロパティ内のMockフィールドに値がある場合、その値は名前によるモックの値を上書きします。
このMockフィールドには、固定値を直接入力するか、Fakerステートメントを記述できます。
JSON Schemaに従ったモック
生成されるモックデータは、JSON Schemaによっても制約されます。
例:
- 「name」という名前の文字列フィールドが自動モックで「Richard」というデータを生成したが、JSON Schemaで文字列の長さが3〜5文字に制限されている場合、最終的なモックデータは「Richa」になります。
- 「status」という名前の文字列フィールドがJSON Schemaで列挙値("sold"、"pending"、"available")を持っている場合、最終的なモックデータはこれらの3つの値のいずれかになります。
- 整数フィールドに最小値と最大値が設定されている場合、最終的なモックデータはその範囲内になります。
- 配列フィールドに最小要素数と最大要素数が設定されている場合、最終的なモックデータはこれらの制限に準拠します。
要約すると、すべてのプロパティ設定は最終的なモックデータに反映され、常にJSON Schemaに準拠するようになります。