使い方
左に変更前、右に変更後の定義を貼り付けるか、「ファイルを開く」で読み込みます(YAML・JSON、OpenAPI 3.0・3.1、Swagger 2.0)。「サンプルで試す」でも確かめられます。
「差分を調べる」を押す(Ctrl または ⌘ + Enter も使えます)と、破壊的・注意・非破壊の件数と判定が出ます。判定は 1 行で、破壊的な変更があれば終了コード 1 相当です。
一覧は区分で絞り込めます。各行には、パス・メソッド・場所・内容と、その区分になった理由が出ます。判定の規則は一覧の下の表で読めます。
「Markdown をコピー」で PR の説明に貼れる表にできます。「JSON を保存」では、判定・件数・変更の一覧を機械的に読める形で保存します。
できること
破壊的な変更を区分
パスや操作の削除、必須項目の追加、型の変更、レスポンスのプロパティの削除などを「破壊的」にまとめます。注意と非破壊の変更は別の区分にします。
判定の理由を各行に
どの規則でその区分になったかを、行ごとに日本語で示します。規則の一覧も画面で読めるので、判定の根拠をそのままレビューに使えます。
$ref を解決して比べる
同じ定義の中の $ref(#/components/... や #/definitions/...)をたどり、スキーマの中身まで比べます。循環する定義でも止まります。
Markdown と JSON で書き出し
PR に貼れる Markdown の表と、機械的に読める JSON を書き出せます。判定は終了コード相当の 1 行でも示します。
ブラウザの中だけで処理
定義は Web Worker の中で、ブラウザの外へ出さずに比べます。通信も外部の $ref の取得もしません。
こんなときに
- API の改版で、既存のクライアントを壊す変更がないかを PR を出す前に確かめたい
- 必須項目の追加やパスの削除を、レビューの前に機械的に洗い出したい
- 社内 API の定義を外部に送らずに、変更前後の差を調べたい
- 「破壊的変更があるか」の判定だけを 1 行で確かめたい
対応形式
入力
出力
対応状況
| 機能 | 対応 | 補足 |
|---|---|---|
| OpenAPI 3.0・3.1・Swagger 2.0 の 2 つの定義の比較 | 対応 | — |
| パス・操作の追加と削除 | 対応 | — |
| パラメーターの必須化・削除・指定場所(in)・型・形式・enum の変更 | 対応 | — |
| リクエストボディとレスポンスのスキーマ(プロパティ・型・必須・enum) | 対応 | 入れ子は深さ 12 まで。超えた部分は比べず、確認メモに書きます |
| 同じ定義の中の $ref の解決(#/components/... や #/definitions/...) | 対応 | — |
| 別ファイルや URL にある $ref の取得 | 非対応 | 通信しないため取得せず、「解決できない $ref」として示します |
| 利用状況を踏まえた影響範囲の判定(どのクライアントが壊れるか) | 非対応 | 実際の利用は分からないため、一般的な互換性の考え方で判定します |
| API ごとの方針に合わせた判定の変更 | 非対応 | 規則は画面で読めますが、区分を変える設定はありません |
| Swagger 2.0 と OpenAPI 3.x の混在比較 | 一部対応 | 対応する項目だけを比べます。対応が取れない変更は判定に入らないことがあります |
| oneOf・anyOf の候補ごとの判定 | 一部対応 | 候補の増減だけを注意として示します |
| API を実際に呼び出しての動作確認 | 非対応 | — |
| オフラインでの利用 | 対応 | 一度開いたあとは通信なしで動作します |
制限・注意事項
- 1 つの定義は 200 万文字・3,000 操作まで。ファイルは 5 MB まで読み込みます。
- 一覧と書き出しは 1,000 件まで。件数は全件を数えます。
- 入れ子のスキーマは深さ 12 まで、スキーマの比較は 2 万回まで。超えた部分は比べず、確認メモに書きます。
- 2.0 と 3.x を比べると、対応する項目が見つからない場合があります。
- 判定は一般的な互換性の考え方によるもので、API ごとの方針によって変わります。
プライバシーと安全性
定義はお使いのブラウザの中だけで比べられ、送信も保存もしません。外部の $ref は取得しません。ページを閉じると内容は消えます。analytics には、入力の中身や件数を含まない実行の記録だけを送ります。
よくある質問
OpenAPI の破壊的変更とは何ですか?
破壊的かどうかの判定は正確ですか?
Swagger 2.0 と OpenAPI 3.0 を比べられますか?
別ファイルの $ref も比べられますか?
比較結果を PR に貼るには?
関連ツール
OpenAPI ビューア・検証(OpenAPI Studio)
OpenAPI 3.0 / 3.1・Swagger 2.0 の定義を貼り付けるだけで、タグ別のエンドポイント一覧とスキーマのツリーを表示し、公式スキーマと照らして誤りを行・列つきで示します。API の呼び出しや外部ファイルの取得はせず、定義は端末の外へ送信しません。
テキスト・コード Diff
変更前と変更後を貼り付けるかファイルをドロップするだけで、追加・削除された行と、行の中で変わった単語まで色分けして表示します。結果は unified 形式のパッチとしてコピー・保存でき、入力はブラウザの外へ出ません。
JSON 整形・検証(JSON Studio)
JSON を貼り付けるだけで整形・1 行化・構文チェック。エラーは「何行目の何が悪いか」まで表示し、コメントや末尾カンマは自動修復できます。データは端末の外へ送信しません。
UUID / ULID / NanoID / トークン生成
ページを開いた瞬間に UUID が 1 件生成済み。種類を選ぶだけで UUID v7・ULID・NanoID・ランダムトークンに切り替わり、最大 1 万件を .txt / .csv / .json で保存できます。既存の UUID や ULID を貼り付ければ、埋め込まれた時刻やバージョンも読み取れます。
正規表現テスター(Regex Tester)
パターンを入力すると、一致した箇所がテスト文字列の上で即座に色付けされます。キャプチャグループ・置換結果・パターンの意味まで一画面で確認でき、ブラウザを固まらせる危険なパターンは 1 秒で自動停止します。
コード整形・圧縮(Code Formatter)
コードを貼り付けるだけで、言語を自動判定して整形できます。インデント・1 行の幅・セミコロン・引用符・末尾カンマを選べ、JavaScript・CSS・HTML は圧縮前後のサイズと削減率も表示。入力は端末の外へ出ません。
最終更新: