OpenAPIバリデーター:API Specを検証
無料、登録不要。Swagger 2.0とOpenAPI 3.x対応のOpenAPIバリデーター。JSONまたはYAMLを貼り付けて即座にバリデーションエラー、警告、エンドポイントサマリーを確認。
OpenAPIバリデーターとは?
OpenAPIバリデーターは、OpenAPI 3.xおよびSwagger 2.0仕様ファイルをパースして検証するブラウザベースのツールです。JSONまたはYAMLのspecを貼り付けてValidateをクリックすると、数秒以内にspecが構造的に有効かどうか、パスとオペレーションの数、SDKジェネレーターや開発者ドキュメントツールに重要な不足フィールドの警告リストが表示されます。
ツールはオンデマンドでロードされる@readme/openapi-parserライブラリを使用して完全にブラウザ内で動作します。specのコンテンツはサーバーに送信されません。アカウント不要で無料でご利用いただけます。
バージョン管理にspecをコミットする前、APIドキュメントを公開する前、またはSwagger UI、Stoplight、SDKジェネレーターなどの下流ツールが拒否しているspecをデバッグする際にお使いください。
主な機能
- OpenAPI 3.xとSwagger 2.0サポート:バリデーターは両方のフォーマットを受け付けます。基盤となる
@readme/openapi-parserライブラリがOpenAPI 3.1を含む両方の仕様バージョンを処理します。 - JSONおよびYAML入力:ツールはまずJSON.parseを試み、失敗した場合はYAML入力用に
js-yamlにフォールバックします。 - 正確なエラーメッセージによる構造検証:バリデーションが失敗すると、パーサーからのエラーメッセージが改行で分割され個別に表示されます。
- リンティング警告:specが構造的に有効でも、3つの一般的な品質問題をチェックします:
info.descriptionの欠落、descriptionもsummaryもないオペレーション、operationIdのないオペレーション。 - エンドポイントとオペレーション数:バリデーション成功後、サマリータイルにAPIタイトル、バージョン文字列、合計パス数、合計オペレーション数が表示されます。
- サンプル読み込みボタン:単一の
/usersGETエンドポイントを持つ最小限の完全なOpenAPI 3.0 specを挿入します。 - バリデーション履歴:以前のspecがブラウザのIndexedDBに保存されます(サポーター機能)。
- 100%クライアントサイド処理:パーサーとバリデーターはブラウザで実行されます。
OpenAPIバリデーターの使い方
ステップ1:Specを貼り付ける
「OpenAPI Specification (JSON or YAML)」とラベル付けされた大きなテキストエリアにspecコンテンツを貼り付けます。YAMLの場合、先頭にバージョン宣言を含めてください(openapi: "3.0.0"またはswagger: "2.0")。
自分のspecを使う前にツールの動作を確認したい場合は、テキストエリアの右上にある「Load Example」ボタンをクリックしてください。
ステップ2:Validate Specをクリック
テキストエリアの下の「Validate Spec」ボタンをクリックします。パーサー実行中はボタンに「Validating...」と表示されます。
ステップ3:バリデーション結果を確認
結果パネルが2つのヘッダーのいずれかで表示されます:
- 「✓ Valid OpenAPI Specification」(緑色)— specは構造バリデーションをパスしました。
- 「✗ Validation Failed」(赤色)— specに修正が必要な構造エラーがあります。
ステップ4:サマリータイルを読む(有効なSpec)
バリデーションをパスしたspecには4つのサマリータイルが表示されます:
- Title —
info.titleの値 - Version —
info.versionの値 - Paths — パスエントリの合計数
- Operations — HTTPメソッド+パスの組み合わせの合計数
ステップ5:警告に対処
有効なspecでも3種類の警告が表示されます:
info.descriptionの欠落 — specに全体的なAPI説明がありません。- descriptionまたはsummaryのないオペレーション — カウントとして報告されます。
operationIdのないオペレーション — SDKジェネレーターはメソッド名の生成にoperationIdを使用します。
実践例
例1:不足している必須フィールドの発見
存在しないスキーマ定義を指す$refを参照するSwagger 2.0 specを貼り付けた場合:
✗ Validation Failed
Could not resolve reference: #/definitions/UserProfile
例2:品質警告のある有効なSpec
✓ Valid OpenAPI Specification 5 warnings
info.description: Missing API description — helps users understand the API purpose
paths.*: 12 operation(s) missing operationId — required for SDK generation
例3:大きなSpecの一目確認
500パスの内部API specを貼り付けた後、サマリータイルに「Paths: 147」と「Operations: 312」が表示されます。
ヒントとベストプラクティス
構造変更のたびにバリデーションを実行してください。 パスの追加、$refの変更、スキーマの修正はエラーを導入する可能性があります。バリデーションは2秒未満です。
operationId警告をSDKワークフローのブロッカーとして扱ってください。 未設定のままにすると、生成されるメソッド名がパスから導出されます。
サンプルをテンプレートとして使用してください。 組み込みサンプルは完全で有効な最小限のOpenAPI 3.0 specです。
構造的妥当性と意味的正確性を区別してください。 バリデーターはspecがOpenAPIスキーマに従うことを確認しますが、実際のAPIを正確に記述しているかは確認しません。
リストの上から下へエラーを修正してください。 1つのスキーマ定義の欠落がspec全体にカスケードする$refエラーを引き起こす可能性があります。
よくある問題とトラブルシューティング
「Parse error: ...」 — 入力が有効なJSONでもYAMLでもありません。一般的な原因:JSONの末尾カンマ、不整合なYAMLインデント、YAMLインデントでのタブ文字。
Swagger UIが受け付けるspecでバリデーションが失敗する。 Swagger UIはエラーに対して寛容です。このバリデーターは厳格なスキーマバリデーションを適用します。
説明を追加した後も警告が表示される。 info内にdescriptionを追加したことを確認してください。
初回使用時にツールが遅い。 ライブラリは初回バリデーションクリック時に動的にロードされます。
プライバシーとセキュリティ
OpenAPIバリデーターはspecを完全にブラウザ内で処理します。@readme/openapi-parserライブラリはローカルで実行され、specコンテンツは外部サービスやサーバーに送信されません。ページとパーサーライブラリがロードされた後は完全にオフラインで動作します。
よくある質問
OpenAPIバリデーターは無料ですか? はい。コスト、アカウント、使用制限はありません。
サポートされているOpenAPIバージョンは? Swagger 2.0、OpenAPI 3.0.x、OpenAPI 3.1.x。
YAMLを貼り付けられますか? 両方のフォーマットが動作します。
ツールは実際のAPIエンドポイントをバリデーションしますか? いいえ。specファイルが構造的に正しいかのみ確認します。
Swagger UIで動作するのにここで失敗するのはなぜですか? Swagger UIはエラーに対して寛容にspecをレンダリングします。このバリデーターは厳格なスキーマバリデーションを適用します。
「operationId required for SDK generation」とは? SDKジェネレーターはoperationId値に基づいてメソッドを命名します。ない場合、パスからメソッド名が構築されます。
警告に誤検出はありますか? 3つの警告チェックは保守的です。info.descriptionチェックはフィールドが存在しないか空の場合のみトリガーされます。
Specファイルを貼り付ける代わりにバリデーションできますか? ツールは貼り付けテキストのみ受け付けます。ファイルアップロードボタンはありません。
履歴パネルはspecコンテンツを保存しますか? はい。ブラウザのIndexedDB履歴にローカルに保存されます。
空のspecを貼り付けるとどうなりますか? テキストエリアが空の場合、Validateボタンは無効になります。
関連ツール
- 近日公開: APIモックジェネレーター — バリデーション済みspecからモックレスポンスデータを生成します。
- 近日公開: APIデザインスイート — OpenAPIフォーマットにエクスポートする前にAPI構造を設計・反復します。
- JSONフォーマッター — バリデーターに貼り付ける前にspecのJSON構造をフォーマット・検証します。
OpenAPIバリデーターを今すぐ試す:OpenAPIバリデーター