OpenAPI・Swagger の定義をローカルで描画

自己完結した定義を貼り付けると、どこにも送信せずに操作・リクエストボディ・レスポンス・スキーマを確認できます。描画前にバージョンを確認し、貼り付けたドキュメント内のすべての参照を解決します。

ローカルビューアSwagger UI 5.32.14OpenAPI 3.x · Swagger 2.0エンドポイントの実行は無効です
定義はこのブラウザーで描画されます。すべての $ref は貼り付けたドキュメント内で解決できる必要があり、外部 URL、相対ファイルパス、検証呼び出し、Try it out リクエストは遮断されます。リクエストがブラウザーの外に出ることはありません。
OpenAPI または Swagger ドキュメント
ドキュメントのプレビュー
OpenAPI または Swagger のドキュメントを貼り付け、ローカルでドキュメントを描画してください。

API クライアントを起動せずにドキュメントを確認

このビューアーは契約を目で確認するためのものです。リクエストの送信、認証情報の保存、リモート定義の取得、貼り付けたドキュメント外の参照の解決は行いません。コピーした API 情報からリクエストを生成したい場合は Explorer を使用してください。

API 定義をローカルで描画する手順

OpenAPI 3.x または Swagger 2.0 の定義を貼り付けると、どこにも送信せずに Swagger UI のドキュメントとして閲覧できます。解析・検証・描画はこのタブ内で完結し、Try it out は無効、描画中のリクエスト数は実測で 0 件です。

ビューアーは先に定義を確認します。ルートにサポート対象のバージョンがあり、すべての $ref が同じドキュメント内を指し、その参照が解決できる必要があります。それ以外は中途半端な描画を残さず、ステータス行に表示します。

  1. JSON または YAML の定義を貼り付けるか、「サンプルを読み込む」で 2 つの操作を持つメモ API を読み込みます。
  2. 「ローカルドキュメントを描画」を押します。JSON と YAML はブラウザー内で読まれ、YAML の問題は行番号、JSON の問題は位置で示されます。
  3. 操作を展開すると、パラメーター、リクエストボディ、レスポンス、スキーマを確認できます。ここでは操作はドキュメント専用で、リクエスト用のボタンは描画されません。
  4. 「クリア」で入力欄とプレビューを空にします。描画後にドキュメントを編集すると、プレビューは暗くなり、再描画するまで変更前のドキュメントのものとして表示されます。

描画前にビューアーが確認する内容

定義に含められるもの

OpenAPI 3.x と Swagger 2.0 のルートに対応します。バージョン項目は必須で、openapi: 4.x は Swagger UI のエラーページではなくメッセージで拒否します。JSON と、OpenAPI ファイルで使われる YAML のサブセット(マッピング、シーケンス、インラインの [] と {}、引用キー、コメント、chomping 付きの | と > のブロックスカラー、アンカーとエイリアス(&name / *name)、!!str・!!int・!!float・!!bool・!!null タグ)を解析します。--- 以降の 2 つ目のドキュメントは、統合せずにエラーとして報告します。

参照とネットワークリクエスト

扱えるのは貼り付けたドキュメント内の参照だけです。./schemas/a.json、a.yaml、相対パス、http(s) URL は描画前に拒否し、その参照を持つプロパティ名をメッセージで示します。そのため相対ファイルを指す定義は、このサイトへ黙って要求されることはなく、報告されます。#/components/schemas/Note のようなローカル参照は貼り付けたドキュメントに対して解決し、存在しないノードを指す参照は操作を展開したときではなくその場で報告します。

結果の読み方

プレビューには操作とそのパラメーター、リクエストボディ、レスポンス、スキーマが並びます。レイアウトは素の Swagger UI で、Try it out ボタンも認証フォームもありません。このビルドでの実測: 同梱のサンプルは 2 つの操作を描画し、200 操作の定義は約 0.25 秒で描画され、同じドキュメントを 2 回描画してもプレビューは重複しません。

最近使ったツール: