OpenAPI 検証ツール
OpenAPI または Swagger のドキュメントを JSON か YAML で貼り付けると、この検証ツールがコア構造をチェックします。ドキュメントがパースできること、openapi または swagger のバージョンフィールドがあること、タイトルとバージョンを持つ info オブジェクトがあること、paths オブジェクトがあることを確認し、続いてスラッシュで始まらない path と未知の HTTP メソッドを指摘します。これは完全な JSON Schema 検証ツールではなく、素早い構造チェックです。
検証はどう進むか
-
1
ドキュメントを貼り付ける
OpenAPI 2(Swagger)または OpenAPI 3 の JSON または YAML。
-
2
パースする
検証ツールはドキュメントを JSON としてパースし、失敗した場合は YAML のパースにフォールバックします。
-
3
必須フィールドを確認する
`openapi` または `swagger` のバージョンフィールド、`title` と `version` を持つ `info` オブジェクト、そして `paths` オブジェクトがあることを確認します。
-
4
path をスキャンする
各 path が先頭スラッシュで始まるかを確認し、各 operation キーを既知の HTTP メソッドと照合します。
-
5
レポートを読む
エラーは有効性をブロックし、警告は先頭スラッシュのない path と未知のメソッドを指摘します。
この検証ツールがチェックするもの
| チェック | 失敗時の結果 |
|---|---|
| ドキュメントが JSON または YAML でパースできる | エラー |
openapi または swagger フィールドがある |
エラー |
info オブジェクトがある |
エラー |
info.title がある |
エラー |
info.version がある |
エラー |
paths オブジェクトがある |
エラー |
各 path が / で始まる |
警告 |
| operation キーが既知の HTTP メソッド | 警告 |
すべてのエラーを通過したドキュメントは、構造的に有効と報告されます。警告は有効性をブロックせず、直す価値のある点を指摘します。
チェックしないもの
これは構造チェックであり、完全な仕様検証ツールではありません。次のことはしません:
- 使用中のバージョンの公式 JSON Schema に対してすべてのノードを検証する;
$ref参照を解決したり、それが指すコンポーネントの存在を確認したりする;- path パラメータが一貫して宣言・使用されているかを確認する;
operationIdの値があるか、一意かを検証する;- エラーの行番号を報告する。
その深さが必要なら、redocly lint、swagger-cli validate、spectral lint などの専用 CLI 検証ツールを実行してください。このツールは、仕様をコミットしたり共有したりする前の素早い健全性チェックに使ってください。
実際に使われている OpenAPI のバージョン
| バージョン | 備考 |
|---|---|
| Swagger 2.0 | いまも広く使われている; swagger: "2.0" を使用 |
| OpenAPI 3.0.x | 最も一般的な 3.x 系 |
| OpenAPI 3.1.0 | JSON Schema 2020-12 に整合 |
この検証ツールは openapi フィールド(3.x)または swagger フィールド(2.0)のいずれかを受け付けるので、これらはすべてバージョンチェックを通過します。
通過する最小のドキュメント
openapi: 3.0.3
info:
title: Example API
version: 1.0.0
paths:
/users:
get:
summary: List users
必須フィールドがすべて存在し、唯一の path が先頭スラッシュで始まり、get が既知のメソッドなので、これは構造的に有効と報告されます。
よくある質問
Swagger はこの仕様のもとの名前で、2015 年に Linux Foundation に寄贈され、バージョン 3.0 から「OpenAPI」に改名されました。「Swagger」は今ではツール(Swagger UI、Swagger Editor)を指します。仕様そのものは OpenAPI です。この検証ツールは swagger(2.0)と openapi(3.x)の両方のバージョンフィールドを受け付けます。
いいえ。コア構造をチェックします:ドキュメントがパースでき、バージョンフィールド、タイトルとバージョンを持つ info オブジェクト、paths オブジェクトがあることを確認し、先頭スラッシュのない path と未知のメソッドを警告します。公式 JSON Schema に対してすべてのノードを検証はしません。それには redocly lint や spectral lint を使ってください。
いいえ。$ref 参照をたどったり、それが指すコンポーネントの存在を確認したりはしません。ファイル間の参照は、redocly bundle や swagger-cli bundle などのツールでまずドキュメントをバンドルしてから、完全な検証ツールを実行してください。
いいえ。貼り付けたドキュメントだけを検査し、実行中のコードは検査しません。あなたの API が仕様の記述どおりに実際に返すかどうかはわかりません。Dredd や Schemathesis のような契約テストツールがそれを行います。
関連ツール
ASCII表リファレンス
0から127までの完全なASCII表です。NUL、LF、DELなどの制御コードを含め、各文字の10進数、16進数、8進数、2進数、HTML数値文字参照を表示します。
HTML文字参照
HTMLエンティティの検索可能なリスト、その名称コードおよび数値コード、および特殊文字や記号のワンクリックコピー機能を提供します。
キーボードショートカット一覧
macOS、Windows、Linux向けに、VS Code、Chrome、GNU Readlineを使うBashの公式資料に基づく既定ショートカットを検索できます。
JavaScript圧縮ツール
変数名のリネーム、空白の削除、デッドコードの除去、定数畳み込みでJavaScriptを圧縮し、より小さなバンドルを作成します。
FPS カウンター
requestAnimationFrame でブラウザーの FPS を測定。平滑化、最小・最大フレームレート、警告しきい値、任意のグラフに対応。ローカルで動作し、アップロードも API も不要です。
EditorConfig ジェネレーター
インデントのスタイルとサイズ、改行コード、文字コード、空白ルールを指定して .editorconfig ファイルを生成し、IDE やエディタをまたいで書式を統一できます。
このツールは他の言語でも利用できます
- OpenAPI-Validator [DE]
- OpenAPI-validerare [SV]
- Walidator OpenAPI [PL]
- Validador OpenAPI [PT]
- مدقّق OpenAPI [AR]
- Validador de OpenAPI [ES]
- Validator OpenAPI [ID]
- OpenAPI 검증기 [KO]
- ตัวตรวจสอบ OpenAPI [TH]
- Trình kiểm tra OpenAPI [VI]
- Validateur OpenAPI [FR]
- OpenAPI-validator [NL]
- OpenAPI Validator [EN]
- Validatore OpenAPI [IT]
- Валидатор OpenAPI [RU]
- OpenAPI Doğrulayıcı [TR]
- OpenAPI 验证器 [ZH]