OpenAPI YAML バリデーター
openapi.yaml を貼り付けると、どの仕様にも必要な部分を確認します。バージョンフィールド、title と version を持つ info オブジェクト、paths オブジェクトです。また、先頭にスラッシュのないパスのキーや、認識できないオペレーションのキーについても警告します。
OpenAPI YAML ファイルの検証方法
-
1
YAML をコピーする
`openapi.yaml` または `swagger.yaml` の内容をすべてコピーします。インデントはそのまま保ってください。
-
2
入力欄に貼り付ける
OpenAPI / Swagger ドキュメントの入力欄に貼り付けます。YAML ではインデントが構造そのものなので、書き直したり整形し直したりしないでください。
-
3
検証を実行する
結果のステップに進み、エラーと警告を確認します。
-
4
修正して再チェックする
ファイル内で指摘された項目を修正し、新しいバージョンを貼り付けて再実行します。
インデントが結果に影響する理由
YAML では、キーのネストによって、どのオブジェクトにフィールドが属するかが決まります。version が info の下に一段入るべきところで、同じ階層に置かれている場合、YAML としては読めますが、info.version は欠落したものとして扱われ、そのことが報告されます。paths でも同様です。パスのキーを誤って info の下にインデントすると、トップレベルの paths オブジェクトがなくなります。
インデントには、タブではなくスペースを使い、1 階層ごとに 2 つのスペースなど一定の幅を保ってください。
実例
openapi: 3.0.3
info:
title: Pets API
paths:
/pets:
get:
summary: List pets
バージョンフィールド、info.title、paths はすべて存在し、/pets は先頭にスラッシュがあり、get は既知のメソッドです。欠けているのは 1 つだけで、info.version です。レポートには次のように表示されます。
| 検出内容 | 種別 |
|---|---|
| info.version is required. | エラー |
info の下に、2 つのスペースでインデントして version: 1.0.0 を追加すると、ドキュメントは構造的に有効と判定されます。
確実に読み取れるよう、シンプルに保つ
このチェックは、通常の YAML マッピング、つまり一定のインデントでネストされた単純な key: value の行を最もよく読み取ります。アンカーや複数行ブロックといった高度な YAML の機能を含むドキュメントが、読めないと報告されたり、フィールドが欠けていると表示されたりする場合は、同じ仕様の JSON 版を試して、問題が内容にあるのか YAML の構文にあるのかを確かめてください。
クリーンな結果は、骨組みが正しいことを示すだけです。$ref のリンクは解決されず、スキーマも検査されません。
YAML 仕様の実践的な手順
小さな手順で編集し、そのたびに再チェックしてください。新しいパスを追加したり、ブロックを移動したりしたら、ファイルを貼り付け直して、インデントの誤りを変更がまだ新しいうちに見つけましょう。大きな仕様を複数のファイルに分割している場合は、結合したバージョンを貼り付けてください。このチェックは渡されたテキストだけを読み、ほかのファイルは読み込まないためです。描画されたページからではなく、エディターからコピーしてください。Web ページでは、スペースや引用符が見た目の似た別の文字に置き換えられることがあり、それによって YAML の読み取り方が変わってしまうことがあります。
最後に、このレポートが確認できるのは一部だけであることを覚えておいてください。YAML ファイルがクリーンであれば、トップレベルの骨組みが正しいということであり、内部のすべてのオペレーション、スキーマ、参照が正しいという意味ではありません。
よくある質問
スペースです。YAML はインデントにタブを受け付けないため、タブがあるとドキュメントが読めなくなったり、フィールドが誤った階層に移動したりすることがあります。
通常は、フィールドのインデントが誤った階層にあり、意図したものとは別のオブジェクトに属しているためです。そのインデントを親のキーと比べてみてください。
このチェックが確認するのは openapi または swagger フィールドの存在だけで、値ではありません。そのため、引用符ありでもなしでも合格します。ただし、Swagger では "2.0" と引用符で囲むことを推奨します。
はい。まず JSON として読み取られ、失敗した場合は YAML として読み取られるため、同じ欄でどちらの形式でも動作します。
関連ツール
Webpack設定ジェネレーター
素の JavaScript、React、Vue 向けに webpack 5 の webpack.config.js を生成します。TypeScript、Babel、CSS や Sass、画像、HtmlWebpackPlugin、開発サーバー、npm install のコマンドまでそろいます。
CSSローディングアニメーション生成ツール
純粋なCSSで円形スピナーを作成できます。直径、枠の太さ、アクセントカラー、回転速度を設定し、ライブプレビューを確認して、そのまま使えるCSSをコピー。SVGもJavaScriptも不要です。
カラーティントジェネレーター
ベースカラーの明るい色合いを生成します。デザイン システム トークン、背景、ホバー状態を 3 ~ 20 段階でスケールします。
CMYK から RGB への変換
標準的な計算式で CMYK の割合をおおよその RGB 値と Hex 値に変換し、画面用にすばやく確認できます。
PHPフォーマッター
単純なPHPコードに改行と2または4スペースのインデントを追加します。結果は必ず確認してください。PHPパーサーでもPSR-12準拠ツールでもありません。
.gitignore ジェネレーター
Laravel、Node.js、Python、Rails のプロジェクト用除外ルールを組み合わせます。結果をコピーするか、.gitignore 入りの ZIP をダウンロードできます。個人用ルールは別に表示します。
このツールは他の言語でも利用できます
- Walidator OpenAPI YAML [PL]
- Công cụ kiểm tra OpenAPI YAML [VI]
- OpenAPI YAML Validator [DE]
- OpenAPI YAML-validerare [SV]
- Validador OpenAPI YAML [PT]
- OpenAPI YAML 검증기 [KO]
- Validador de OpenAPI YAML [ES]
- ตัวตรวจสอบ OpenAPI YAML [TH]
- Validateur OpenAPI YAML [FR]
- Validator OpenAPI YAML [ID]
- OpenAPI YAML Validator [NL]
- مدقق OpenAPI بصيغة YAML [AR]
- OpenAPI YAML 验证器 [ZH]
- OpenAPI YAML Validator [EN]
- Validatore OpenAPI YAML [IT]
- Валидатор OpenAPI YAML [RU]
- OpenAPI YAML Doğrulayıcı [TR]