DevToolKits.app
Schema helper

JSON → OpenAPI スキーマ生成

JSON を貼り付けるだけで OpenAPI のコンポーネントスキーマを作成します。
オブジェクトや配列を JSON Schema として必須項目付きで組み立て、混在する配列は oneOf で表現します。
すべてブラウザ内で完結し、データがサーバーに送信されることはありません。

ガイド: 使い方・特徴

  • 入力欄に JSON を貼り付けて「OpenAPI に変換」をクリックします。
  • オブジェクトは properties と required を持つ JSON Schema に展開されます。
  • 配列は要素を推論し、複数型が混ざる場合は oneOf でまとめます。
  • コピー・リセットボタンで結果を再利用したりやり直したりできます。

サンプル: 入力例と出力例

Infer schema from a profile object

入力例

{"name":"Jane","email":"jane@example.com","verified":true}

出力例

{
  "type": "object",
  "properties": {
    "name": {"type": "string"},
    "email": {"type": "string", "format": "email"},
    "verified": {"type": "boolean"}
  },
  "required": ["name", "email", "verified"]
}

FAQ: よくある質問

  • 出力はどのような形式ですか?

    components.schemas.Root に JSON Schema 形式で組み立てられ、properties と required を含みます。
  • 配列に複数の型が混ざる場合は?

    要素ごとにスキーマを作り、複数型なら oneOf でまとめます。null は nullable: true で表現します。
  • 入力データはサーバーへ送信されますか?

    いいえ。処理はブラウザ内で完結し、ネットワーク通信は発生しません。

使いどころ: よくある使いどころ

  • スキーマ草案の作成

    JSON 例から OpenAPI Schema の雛形を作り、ドキュメントやモック生成の出発点にできます。

  • エンドポイント仕様の素早い共有

    リクエスト/レスポンスの例を変換して、そのまま PR や Issue に貼り付けて合意形成を進められます。

  • 既存仕様との整合確認

    既存のスキーマ断片と突き合わせて差分を把握し、更新すべき項目を洗い出せます。

注意点: 注意点・制限

  • 処理はブラウザ内で完結

    入力と出力は端末内にとどまります。タブを閉じたりキャッシュを消すと、一時的な状態はリセットされます。

  • 重要データは必ず確認

    結果はあくまで補助です。システムに投入する前に内容を確認し、必要に応じて社内ルールに沿って検証してください。

  • 大きなデータは端末性能に依存

    長文や大容量を扱うとブラウザが重くなる場合があります。処理が遅いときはデスクトップ環境の利用を推奨します。

JSONからOpenAPI Schema自動生成ツール

外部APIからのレスポンスJSONや、設計段階のサンプルJSONを貼り付けるだけで、OpenAPI (Swagger) 3.x に準拠した components.schemas のYAML/JSON定義を自動で推論・生成します。
REST APIの開発やドキュメント作成において、巨大なJSONデータの構造を手動でプロパティマッピングし、型(Type)を定義する作業は非常に退屈でミスの起きやすい工程です。本ツールはこのリバースエンジニアリング(推論)を自動化し、仕様書作成を加速させます。

API仕様書作成で役立つポイント

OpenAPIのスキーマは、フロントエンド、バックエンド、QA、外部連携先が同じレスポンス構造を確認するための共通言語になります。サンプルJSONから初期スキーマを生成しておくと、プロパティ名、型、配列構造、ネストされたオブジェクトを手早く整理できます。
手作業で作った仕様書では、実際のAPIレスポンスとドキュメントが少しずつずれることがあります。実レスポンスを貼り付けてスキーマ化し、既存のOpenAPI定義と比較することで、追加された項目や型の変更をレビューしやすくなります。

生成後に確認したいこと

JSONのサンプルだけからは、必須項目、nullable、列挙値、文字列のフォーマット、数値の範囲までは完全には判断できません。生成結果を出発点として、requireddescriptionexampleformat などを追記すると、読み手にとって使いやすいAPI仕様になります。機密情報を含むレスポンスを扱う場合は、値をマスクしてから入力してください。

このツールの関連記事

最新記事

広告

広告