Apidog では、エンドポイント内でリクエストを送信した後、Apidog がエンドポイントの仕様に基づいて、レスポンスがスキーマに準拠しているかどうかを自動的に検証します。検証ルール#
検証範囲#
HTTP ステータスコード: API によって返されます。
データ形式: 返されたコンテンツ(JSON、XML、HTML、Raw、Binary、No-Content、MsgPack、Event-Stream)の形式です。
スキーマ: JSON と XML のみスキーマを設定できます。データ構造の詳細な説明については、スキーマを参照してください。 | 検証項目 | プロパティ型 | 検証プロンプトの例 |
|---|
| 必須キーの存在 | すべて | $ should have required property "code" |
| 値の型が仕様と一致 | すべて | $.data.id should be integer |
| null 非許容のキーに null 値がない | すべて | $.data.id should be integer |
| 列挙値が範囲内 | String, Integer, Number | $.data.status should be equal to one of predefined values |
| 数値が範囲内 | Integer, Number | $.data.id should be >= 0 |
| 数値が倍数要件に従っている | Integer, Number | $.data.quantity should be a multiple of 10 |
| 文字列の長さが範囲内 | String | $.data.name should not be shorter than 3 characters |
| 文字列がパターンに一致 | String | $.data.name should match pattern "^[A-Za-z]" |
| 配列要素数が範囲内 | Array | $.data.tags should not have more than 2 items |
次に行うこと#
上記の項目が一致している場合、「Response Data Structure validated!」と表示されます。これは、実際の API 戻り値が API ドキュメントの仕様と一致していることを意味し、手動検証の必要がなくなり、効率が向上します。右側に対応するプロンプトが表示された場合は、そのプロンプトに従って問題を解決できます。問題は一般的に 2 種類あります。1 つ目はサーバーのレスポンスが正しくない場合で、この場合はバックエンドを仕様に合わせて修正する必要があります。2 つ目は API 仕様が正しくない場合で、この場合はエンドポイント仕様を修正する必要があります。自動検証機能を利用することで、レスポンスを検証するためのスクリプトを手動で作成する必要がなくなります。さらに、API 仕様に変更があった場合も、検証はそれに応じて自動的に調整され ます。その他のレスポンスの検証#
デフォルトでは、Apidog はエンドポイント内の最初のレスポンス(通常は 200 レスポンス)を検証します。ただし、エンドポイントは異なるスキーマを持つ複数のレスポンスを返す場合があります。そのような場合は、検証エリアの右上隅で、検証するレスポンスを選択できます。レスポンスの前にあるスイッチをクリックして、「validate」機能をオフに切り替えることもできます。この変更は現在のエンドポイントにのみ適用されます。追加プロパティの検証#
実際のビジネスのアップグレードに伴い、レスポンスに追加プロパティが追加される場合があります。このような場合、Apidog では追加フィールドを許可するかどうかをユーザーが判断できます。たとえば、ユーザー情報を照会する API があり、以前の戻りフィールドが name と phone だったとします。そのため、データ構造は次のように指定されていました。ビジネスのアップグレードにより、この API に新しい city フィールドが追加されましたが、API 仕様は更新されていません。デフォルトの検証メカニズムではエラーは報告されません。つまり、追加フィールドの追加はデフォルトで許可されています。ただし、より厳格な開発シナリオでは、戻り値に定義と一致しない追加フィールドが含まれている場合、レスポンス検証でもエラーを報告する必要があります。この場合、次の手順に従うことで、目的の動作を実現できます。1.
API 仕様内のレスポンスを修正します。object の詳細設定で「additionalProperties」を「Deny」に設定します。これは現在の API に対してのみ有効になります。
2.
プロジェクト内のすべての API で追加フィールドを許可しない場合は、Settings → Response Validate Settings に移動し、Allow Objects to Have additionalProperties をオフにします。
3.
設定が完了した後、再度リクエストを送信すると、レスポンス検証メカニズムがエラーを報告し、additionalProperties が許可されていないことを示します。
検証設定#
「Validate Response」スイッチはデフォルトでオンになっており、プロジェクト設定画面の「Verification Response Settings」で調整できます。この設定は現在のプロジェクト内のすべての API に対してのみ有効であり、保存済みの Endpoint Cases には影響しません。手動アサーションまたはポストスクリプトのみが必要で、Apidog によるレスポンスと API 仕様の整合性検証が不要な場合は、特定のモジュールで検証機能を無効にできます。レスポンスコンテンツの検証#
レスポンス検証には「HTTP Status」、「Header」、「Body」が含まれており、プロジェクト設定の「Validate Response Content」で調整できます。この設定は現在のプロジェクト内のすべての API に対してのみ有効であり、保存済みの Endpoint Cases には影響しません。 Modified at 2026-06-11 07:06:02