使い方
「変更前(古い定義)」に古い AsyncAPI、「変更後(新しい定義)」に新しい AsyncAPI を貼るか、「ファイルを開く」で読み込みます。「サンプルで試す」でも確かめられます。
1 つだけ確かめたいときは「文書を確認」を押します(左の欄を読みます)。2 つを比べるときは「差分を調べる」を押します(Ctrl または ⌘ + Enter も使えます)。
確認では、サーバー・チャンネル・操作・メッセージの一覧と、行番号つきの指摘が出ます。差分では、破壊的変更の候補と安全な変更が出ます。
「Markdown をコピー」で PR の説明に貼れる表にできます。「JSON を保存」では、判定・件数・変更の一覧を保存します。
できること
チャンネル・操作・メッセージの一覧
2.x の publish・subscribe と、3.0 の channels・operations(send・receive)を読み、一覧にします。
$ref の解決と循環の検出
文書の中の #/... の参照を解決し、解決できないものと循環を行番号つきで示します。外部ファイルや URL は取りに行きません。
書き方の指摘
バージョン欄・info の title と version・2.x と 3.0 の混在・operation の channel の漏れ・使われていない components などを指摘します。
破壊的変更の候補
チャンネル・操作・メッセージの削除、payload の項目の削除・型の変更・必須の追加などを候補として示し、追加などの安全な変更と分けます。
ブラウザの中だけで処理
文書は送信せず、ブラウザの中だけで読みます。ブローカーには接続しません。
こんなときに
- イベントの定義(AsyncAPI)を変更する PR で、既存の購読者を壊すおそれのある変更がないかを確かめたい
- 解決できない $ref や、どこからも使われていない components を、行番号で見つけたい
- 2.x と 3.0 の書き方が混ざっていないかを確かめたい
- 社内のイベント定義を外部に送らずに、旧新の差を調べたい
対応形式
入力
出力
対応状況
| 機能 | 対応 | 補足 |
|---|---|---|
| AsyncAPI 2.x・3.0 の YAML・JSON の読み込み | 対応 | — |
| info・servers(protocol)・channels・operations・messages・components の一覧 | 対応 | — |
| 文書の中の $ref(#/...)の解決と循環の検出 | 対応 | — |
| 外部ファイル・URL の $ref | 非対応 | 取得せず、「解決しない」と示します |
| 指摘: バージョン欄・info・未定義の $ref・使われていない components・operation の channel の漏れ・書き方の混在 | 対応 | よく使う誤りの検査です。完全なスキーマ検証ではありません |
| 旧新の比較(チャンネル・操作・メッセージの追加と削除、payload の項目・型・必須・enum) | 対応 | payload は文書の中で解決できた部分だけ比べます |
| 完全な JSON Schema の検証(payload の値の検証) | 非対応 | — |
| ブローカーへの接続・メッセージの送受信 | 非対応 | 通信しません |
| AsyncAPI 1.x | 非対応 | 未対応です。バージョン欄で示します |
| コード生成・HTML ドキュメントの生成 | 非対応 | — |
| オフラインでの利用 | 対応 | 一度開いたあとは通信なしで動作します |
制限・注意事項
- 1 つの文書は 30 万文字まで。ファイルは 1 MB まで読み込みます。
- 参照の展開は深さ 5 段まで。超えた部分は比べません。
- 判定は書き方と互換性の一般的な考え方によるもので、API ごとの方針によって変わります。
プライバシーと安全性
文書はお使いのブラウザの中だけで読み、送信も保存もしません。ページを閉じると内容は消えます。analytics には、入力の中身や件数を含まない実行の記録だけを送ります。
よくある質問
AsyncAPI とは何ですか?
OpenAPI の確認ツールとの違いは?
AsyncAPI 2.x と 3.0 の書き方の違いは?
外部ファイルの $ref は解決できますか?
文書が仕様に合っているかを完全に検証できますか?
関連ツール
OpenAPI ビューア・検証(OpenAPI Studio)
OpenAPI 3.0 / 3.1・Swagger 2.0 の定義を貼り付けるだけで、タグ別のエンドポイント一覧とスキーマのツリーを表示し、公式スキーマと照らして誤りを行・列つきで示します。API の呼び出しや外部ファイルの取得はせず、定義は端末の外へ送信しません。
OpenAPI 差分・破壊的変更チェック
変更前と変更後の OpenAPI(または Swagger 2.0)を貼るだけで、クライアントが壊れる破壊的な変更を一覧します。パスの削除・必須項目の追加・型の変更などを「破壊的」「注意」「非破壊」に分け、各行に判定の理由を付けます。定義はブラウザの外へ送りません。
YAML / TOML 検証・整形・変換(YAML / TOML Studio)
YAML・TOML・JSON を貼り付けるだけで構文チェック・整形・相互変換。エラーは行と列で示し、「no が false になる」などの型の落とし穴と、変換で失われるものを事前に警告します。データは端末の外へ送信しません。
GraphQL スキーマ確認・破壊的変更チェック
GraphQL の SDL(schema.graphql)を貼るだけで、型・フィールド・引数の一覧と、未定義の型などの指摘を行番号つきで出します。旧と新の 2 つを比べると、フィールドの削除や引数の必須化など、破壊的変更の候補を安全な変更と分けて示します。定義はブラウザの外へ送りません。
proto ファイル確認・protobuf 互換性チェック
.proto の内容を貼るだけで、メッセージ・フィールドの番号・型・ラベル・enum・rpc の一覧と、番号の重複や範囲外などの指摘を行番号つきで出します。旧と新の 2 つを比べると、フィールド番号の変更や型の変更など、互換性を壊すおそれのある変更を、注意や安全な変更と分けて示します。定義はブラウザの外へ送りません。
テキスト・コード Diff
変更前と変更後を貼り付けるかファイルをドロップするだけで、追加・削除された行と、行の中で変わった単語まで色分けして表示します。結果は unified 形式のパッチとしてコピー・保存でき、入力はブラウザの外へ出ません。
最終更新: