AsyncAPI 確認・イベント API 差分チェック

AsyncAPI の YAML・JSON を貼るだけで、サーバー・チャンネル・操作・メッセージの一覧と、解決できない $ref や使われていない components の指摘を行番号つきで出します。旧と新を比べると、チャンネルや操作の削除、payload の項目の削除や必須化などの候補を示します。定義はブラウザの外へ送りません。

端末内で処理・アップロードなしスマホ対応オフライン対応

ファイルや入力内容はお使いの端末(ブラウザ)の中だけで処理され、サーバーへは送信されません。

変更前(古い定義)
0 / 300,000
変更後(新しい定義)
0 / 300,000
1 つの文書は 30 万文字まで。Ctrl(⌘)+ Enter で差分を調べます。
AsyncAPI を貼り付けて「文書を確認」か「差分を調べる」を押すと、ここに結果が出ます。
判定の規則
  • 破壊的変更の候補 既存の購読者や送信側が動かなくなるおそれがある変更です(候補)。
  • 安全な変更 既存の購読者や送信側がそのまま使える変更です。

使い方

  1. 「変更前(古い定義)」に古い AsyncAPI、「変更後(新しい定義)」に新しい AsyncAPI を貼るか、「ファイルを開く」で読み込みます。「サンプルで試す」でも確かめられます。

  2. 1 つだけ確かめたいときは「文書を確認」を押します(左の欄を読みます)。2 つを比べるときは「差分を調べる」を押します(Ctrl または ⌘ + Enter も使えます)。

  3. 確認では、サーバー・チャンネル・操作・メッセージの一覧と、行番号つきの指摘が出ます。差分では、破壊的変更の候補と安全な変更が出ます。

  4. 「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(2.6.0 など)AsyncAPI 3.0.0.yaml / .yml / .jsonUTF-8(BOM 付き可)

出力

画面の一覧(定義・指摘・差分)Markdown(PR 用の表)JSON(判定・件数・変更の一覧)

対応状況

機能対応補足
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 とは何ですか?
イベント駆動の API(メッセージのチャンネルと送受信)を YAML・JSON で書くための仕様です。HTTP の API は OpenAPI で書きます。
OpenAPI の確認ツールとの違いは?
OpenAPI は HTTP の API(パスとメソッド)を、AsyncAPI はメッセージのチャンネルと送受信を書きます。どちらの定義かで、使うツールを選んでください。
AsyncAPI 2.x と 3.0 の書き方の違いは?
2.x は channel の下に publish と subscribe を書き、3.0 は channels と operations(send・receive)を分けて書きます。このツールは両方を読み、混在を指摘します。
外部ファイルの $ref は解決できますか?
いいえ。ファイルを取りに行かないので「解決しない」と表示します。関係する定義を components にまとめて貼ると確かめられます。
文書が仕様に合っているかを完全に検証できますか?
いいえ。よく使う誤りを見る軽い検査です。完全な検証は、AsyncAPI の公式のツールなどで行ってください。

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 形式のパッチとしてコピー・保存でき、入力はブラウザの外へ出ません。

アップロードなし

最終更新: