コンテンツにスキップ

インポートした API の問題を検出する

API(OpenAPI、Swagger、その他のサポートされている形式)をインポートすると、Restorm はその API の構造化されたドキュメントを 変数フォルダー に保持します。インポートの直後、そしてファイルを開き直すたびに、Restorm はそのドキュメントを静かに設計へと投影し、API デザイナーが適用するのと同じ検証を、完全にバックグラウンドで実行します。インポートを妨げることも、作業中の内容に触れることも決してありません。

何も見つからなければ、何も表示されません。構造的な問題が見つかった場合は、2 か所でそれを示します。

指摘された API を含む変数フォルダーには、その行の右側に小さな 「!」 が表示されます。これはこの API の設計に確認する価値のある点があることをひと目で知らせる合図であり、API が再び正常になると(再インポートや修正する API の更新の後で)自然に消えます。

変数フォルダーを開くと、問題 タブが追加されます。このタブは問題が検出されたときにのみ表示され、正常な API では決して表示されません。

インポートした API の変数フォルダーの「問題」タブ。警告の吹き出しに続いて、種類ごとにグループ化された問題が並ぶ ——「複数のルートが同じメソッドとパスに応答しています」「一部のルートはレスポンスを宣言していません」「一部のルートは設計サーバーが予約しているパス上にあります」—— それぞれが影響を受ける正確なルートを一覧表示し、そのうち一つが展開されてそのルートのドキュメントを表示している

問題は 種類 ごとにグループ化されるため、20 個の重複したルートは 20 件の個別のエントリではなく、件数付きの 1 行として読めます。各種類の下には、Restorm が 該当する正確なエンティティ を一覧表示します —— ルートはその HTTP 動詞と実際のパスを示し、そのルートのドキュメントまで展開されるので、タブを離れることなく何を宣言しているかを確認できます。

これらのチェックは API デザイナーのものを反映しているため、目にする可能性のある問題の種類には次のようなものがあります。

  • 重複したルート —— 同じメソッドとパスに応答する 2 つのルート。
  • 欠落したレスポンス —— レスポンスをまったく宣言していないルート。
  • 予約済みのパス —— Mock Server が予約しているパス(/swagger.json、/graphql など)上にあり、決して応答しないルート。
  • 制約の問題 —— 無効なパターン、または最大値を上回る最小値。

この一覧は読み取り専用です。何を修正すべきかを伝えるものであり、修正はソースで行います(修正した仕様を再インポートするか、API を編集します)。API を変更するイベント —— ファイルを開く、インポートする、API を更新する —— のたびに再計算され、キー入力のたびに再計算されるわけではありません。