実践的な API 検証のための JSON Schema

JSON Schema を使うと、API payload の形を検証し、契約のズレを早く見つけ、手作業だけに頼らないデバッグができます。

JSON Schema は、API が実際に依存している payload の形を説明するときに特に役立ちます。すべての業務ルールを表現しなくても、欠けたフィールド、型の違い、予期しない enum、チーム間の契約ズレを検出できます。

API デバッグでは「見た目では正しそう」な JSON がよくあります。Schema を使うと、その感覚的な確認を再現可能な検証へ変えられます。

契約の境界から始める

良い schema は境界を対象にします。

  • 外部 API から受け取るレスポンス
  • フロントエンドから送る request body
  • webhook payload
  • キューに積む message
  • テスト fixture

内部のすべてのオブジェクトを schema 化する必要はありません。まず壊れると困る入出力の境界に絞ると、効果が出やすくなります。

最初は小さくてよい

実務では、最初から完全な schema を書こうとすると止まりがちです。まず必須フィールド、基本型、配列かオブジェクトか、主要 enum だけを定義しても価値があります。

{
  "type": "object",
  "required": ["id", "email"],
  "properties": {
    "id": { "type": "integer" },
    "email": { "type": "string" }
  }
}

この程度でも、id が文字列になった、email が欠けた、payload 全体が配列になった、といった問題を早く見つけられます。

デバッグでの使い方

まず実際の JSON を整形します。次にサンプルから schema を作るか、既存 schema と照合します。エラーが出たら、schema が厳しすぎるのか、payload が契約から外れているのかを確認します。

JSON Schema はレビューの代わりではありませんが、API 契約を人間の目だけに頼らない形へ近づけます。

In this topic

Related articles

Complete guideAPI デバッグにローカルブラウザーツールが役立つ理由ローカルブラウザーツールは、API デバッグでよくある整形、デコード、変換、比較を高速かつプライベートに進めるための作業場になります。cURL を fetch や Axios に変換したあと、貼り付け前に確認することcURL からコードへの変換は便利ですが、shell quoting、重複ヘッダー、認証情報はアプリへ貼り付ける前に人間の確認が必要です。

関連ツール

この記事で使うツール

JSON Formatter 日本語ツールjson / formatter / validatorJSON Schema Generator 日本語ツールjson schema generator / generate json schema from json / json schema validatorYAML Formatter / Validator 日本語ツールyaml / formatter / validator

関連コース

JSON Course 日本語ガイド日本語の json ガイド: A structured introduction to JSON: syntax, types, parsing, generation, real-world patterns, and ecosystem tradeoffs.YAML Course 日本語ガイド日本語の yaml ガイド: Learn YAML for configs and DevOps: syntax, JSON differences, Kubernetes and CI workflows, and debugging.

記事一覧へ戻る