広告が嫌いですか? 行く 広告なし 今日

OpenAPI 2 から 3 へのコンバーター

データ開発者

オプション

ガイド

OpenAPI v2 から v3 へのコンバーター

OpenAPI 2 から 3 へのコンバーター

Swagger 2.0 のスペックを貼り付け、JSON または YAML 形式で有効な OpenAPI 3.0.3 バージョンを返します。コンバーターは公式な構造マッピングルールを適用— definitions under components/schemashost, basePathと、 schemes の中へ serversを収縮し、 consumesproduces を各操作に分離し、フォームパラメータとセキュリティ定義を再構成—現代の OpenAPI ツールで動作するようになります。 content Swagger 2.0 スペックを入力ボックスに貼り付けます。JSON および YAML はどちらも受け入れ可能で、形式は自動検出されます。

使用方法

  1. 出力フォーマットを選択:入力フォーマットを維持するか、JSON または YAML に強制します。
  2. 必須フィールドを補完
  3. 離脱 を自動で埋め込み、v3 の必須フィールド( など)および v2 のソースが省略した応答説明を補完します。 info.title, info.version変換の要約および出力の上部に表示される警告を確認し、結果の OpenAPI 3.0.3 スペックをコピーまたはダウンロードします。
  4. JSON および YAML 入力、JSON または YAML 出力

機能

  • — 好みのフォーマットを選択するか、入力と同じフォーマットを維持します。 構造マッピング
  • definitionscomponents/schemas, securityDefinitionscomponents/securitySchemes, parameters/responses の下に引き上げられ、すべての componentsポインタは再構成され、一致するようになります。 $ref ホスト、basePath、スキームからサーバー
  • — これらは v3 の 配列に統合され、複数のスキームがある場合、HTTPS が優先されます。 servers コンテンツネゴテイション
  • は各操作に分離されたconsumesproduces マップに変換されます。 requestBody.contentresponses[*].content ボディおよびフォームパラメータ
  • は v3 のin: body フィールドに変換され、すべての requestBodyと、 in: formData はリクエストボディスキーマにグループ化されます。 multipart/form-data または application/x-www-form-urlencoded セキュリティフローのアップグレード
  • — OAuth2 値は v3 の flow オブジェクト( flows パッチモードimplicit, password, clientCredentials, authorizationCode).
  • — 有効にすると、出力が v3 バリデーターを通過するように必須フィールドを補完し、v2 ソースの小さな欠陥による失敗を回避します。 変換要約および警告
  • — 変換されたパス、スキーマ、セキュリティスキームの数、1 対 1 にマッピングできないものに対する警告を表示します。 — あなたのスペックはページを離れないでください。
  • ブラウザ内で完全に動作 Swagger 2.0 と OpenAPI 3.0 の間で構造的に何が変わったか?

よくある質問

  1. OpenAPI 3.0 は再利用可能な要素を1つの

    オブジェクトに再組織しました: componentsdefinitions になりました。トランスポート面も変更されました: components/schemas, parameters になりました。トランスポート面も変更されました: components/parameters, responses になりました。トランスポート面も変更されました: components/responsesと、 securityDefinitions になりました。トランスポート面も変更されました: components/securitySchemesは、フルベースURLの host, basePathと、 schemes 配列に統合され、暗黙的な servers 配列は各リクエストボディおよび応答にメディアタイプでキーをもつ consumesproduces マップに置き換えられました。 content OpenAPI 3.0 では、リクエストボディに新しい形状が必要な理由は何ですか?

  2. Swagger 2.0 では、リクエストボディは単なるパラメータで、

    でした。フォームフィールドはパラメータで、 in: bodyでした。これは2つの異なる関心(パス/クエリ/ヘッダーパラメータとリクエストペイロード)を1つのリストにまとめて、コンテンツタイプネゴテイションを困難にしました。OpenAPI 3.0 ではそれらを分離しました:パラメータはパス、クエリ、ヘッダー、およびクッキーにのみ使用され、ペイロードはトップレベルの in: formDataマップに移動します。これにより、1つのエンドポイントが異なるスキーマで requestBody で包まれており、 content を受け入れるようになります。 application/json, multipart/form-dataと、 application/x-www-form-urlencoded Swagger 2.0 と OpenAPI 3.0 はワイヤー互換ですか?

  3. いいえ。それらはAPIプロトコルバージョンではなく、記述フォーマットのバージョンです。したがって、変換されたスペックはサービスが実行時にどのように反応するかを変えることはありません—ただし、ツール(生成器、バリデーター、モックサーバー、UIビュー)は公開するバージョンを理解しなければなりません。OpenAPI 3.0 は v2 にない機能を導入しました。これらには

    、コールバック、リンク、およびより豊かなセキュリティフローがあります。今後(v3 → v2)は一般的に損失があり、逆に(v2 → v3)はv2がv3の表現力の厳密なサブセットであるため、大半は機械的です。 oneOf/anyOf/notこの文脈における

  4. 解決とは何ですか? $ref は、たとえば

    $ref のようなJSONリファレンスポインタです。変換はすべてのポインタを書き換える必要があります。なぜなら、ターゲットパスが変更されたためです: #/definitions/User、そしてそれらに続きます。ポインタ自体は解決されません(ドキュメントはまだ場所で参照しています)が、構造の移動に同期して書き換えなければなりません。結果のv3スペックが内部的に整合性を持つようにします。 #/definitions/User になります #/components/schemas/User, #/parameters/AuthHeader になります #/components/parameters/AuthHeaderSwagger 2.0 スペックをここに貼り付けます(YAMLまたはJSON)...

広告なしで楽しみたいですか? 今すぐ広告なしで

拡張機能をインストールする

お気に入りのブラウザにIOツールを追加して、すぐにアクセスし、検索を高速化します。

に追加 Chrome拡張機能 に追加 エッジ拡張 に追加 Firefox 拡張機能 に追加 Opera 拡張機能

スコアボードが到着しました!

スコアボード ゲームを追跡する楽しい方法です。すべてのデータはブラウザに保存されます。さらに多くの機能がまもなく登場します!

ニュースコーナー 技術ハイライト付き

参加する

価値ある無料ツールの提供を継続するためにご協力ください

コーヒーを買って