How to export swagger.json (or yaml) Ask Question

How to export swagger.json (or yaml) Ask Question

How can I export a Swagger definition file? It should be a JSON or YAML file, e.g. swagger.json or swagger.yaml.

次のようなエンドポイントがあるとしますhttp://example.com//swagger/ui/index#!:

ここに画像の説明を入力してください

バージョンは ですapi version: v1

「エクスポート」ボタンが表示されません。どうすればエクスポートできますか?

ベストアンサー1

API定義のURLはSwagger UIのトップバーに表示されます。この例では、

/v2/api-docs?group=full-petstore-api

完全なURLは次のようになります

http://localhost:8080/v2/api-docs?group=full-petstore-api

Swagger UI の新しいバージョンでは、API 定義へのリンクが API タイトルの下に表示されることが多いので、リンクを右クリックして「名前を付けて保存」することができます。

Swagger UI 3.x の API 定義へのリンク


Swagger UI に API 定義への目に見えるリンクがない場合は、ページ ソースを表示してurl次のようなパラメータを探します。

const ui = SwaggerUIBundle({
  url: "https://petstore.swagger.io/v2/swagger.json",     // <-------
  dom_id: '#swagger-ui',

urlまたはコード式が表示されない場合はurl、ブラウザの開発ツールを開き、通信網タブをクリックしてキャッシュを無効にします。次にページを更新し、 HTTPリクエストの中からAPI定義ファイル(swagger.jsonswagger.yaml、または類似のもの)を検索します。api-docsHR のリストを絞り込みます。

ブラウザ開発ツールのネットワークタブでSwaggerファイルを見つける


実際の値を確認する別の方法urlは、ブラウザ コンソールを使用して、UI バージョンに応じて次のいずれかの値を評価することです。

  • Swagger UI 3.x:

    ui.getConfigs().url
    
  • Swagger UI 2.x:

    swaggerUi.api.url
    


OpenAPI 定義が .js ファイル内に埋め込まれている場合もあります。この場合は、このファイルを取得して余分な部分を削除します。

JavaScript ファイルに埋め込まれた OpenAPI 定義

おすすめ記事