コンテンツにスキップ

OpenAPI / Swagger をインポートする

これは Restorm でもっとも情報量の多いインポートです。認識されるバージョンは 3 つあります。Swagger 2.0OpenAPI 3.0OpenAPI 3.1 です。

ファイル ▸ インポートCtrl+I)を開き、swagger.json / openapi.json ファイルを指定するか、仕様書の URL を直接入力します。

URL が 401 または 403 を返した場合、Restorm はインポートモーダルを閉じないまま、認証を紐づけて再試行することを提案します。

OpenAPI のインポートでサイドペインに生成されたツリー — タグごとに 1 つのフォルダー(pet、store、user)— と、その隣に表示された変数フォルダーのホームサブタブ

仕様書の要素Restorm での扱い
servers(または host + basePath + schemes環境のベース URL。サーバー変数は解決されます
tagsタグごとに 1 つのフォルダー、加えて残りをまとめる Other フォルダー
各操作HTTP リクエスト 1 件(メソッドとパスを含む)
パラメーターパスパラメーター、クエリパラメーター、ヘッダー。いずれも型付き(文字列、数値、日時、列挙型、シークレットなど)
requestBodyボディ。コンテンツタイプに応じた形式で作成されます
examples提供された例で事前入力されたボディ
components / definitionsAPI ドキュメント:モデル、説明
enum値の型として再利用できる列挙型
レスポンスコンテンツタイプごとにドキュメント化されます

$ref はコンポーネントをまたぐものも含めて解決されます。

components / definitions の行は特に強調しておきたい点です。インポートはリクエストだけにとどまらず、API のドキュメント全体(説明、モデル、セキュリティスキーム、例、列挙型)を保持します。ドキュメントはインポートで生成された変数フォルダーの ドキュメント タブでも、各リクエストの同名タブでも参照でき、ソースから再同期できます。インポートした API のドキュメントの参照と更新を参照してください。

インポートで生成された変数フォルダーのドキュメントタブ。API のドキュメントとその目次が表示されている

宣言されたセキュリティスキームは事前設定されたヘッダーまたはパラメーターに変換され、対応する環境変数もあわせて作成されます。

スキームRestorm が設定するもの
ヘッダーまたはクエリの apiKeyスキーム名を付けたペア、値は {{<schema>}}
http + basicAuthorization: Basic {{<schema>_credentials}}
http + beareroauth2openIdConnectAuthorization: Bearer {{<schema>_token}}

あとは変数に値を入力するだけです。自動更新の恩恵を受けたい場合は、認証ルートに置き換えることもできます。

OpenAPI と Swagger は再同期できる形式に含まれます。フォルダーの 更新 ボタンでソースを取得すると、Restorm が差分を適用します。新しい操作は追加され、消えた操作は削除ではなく非推奨として印が付き、こちらで加えた変更は保持されます。ソースから更新するを参照してください。