OpenAPI の必須パラメータの一覧

OpenAPI のどの API にどのパラメータが必須か、一覧で見つける。

OpenAPI 3.x の定義(JSON)を貼り付けると、エンドポイント(パスとメソッド)ごとの必須パラメータを、場所(path・query・header・cookie)・必須の理由・定義元つきで一覧にします。Path Item の共通パラメータと Operation の上書き、$ref の参照も反映します。入力はブラウザの中だけで処理します。

ツールを使う 入力例と結果

OpenAPI の定義を貼り付けて必須パラメータを一覧にする

入力した内容は送信されません。貼り付けた文字や選んだファイルは、お使いのブラウザの中だけで処理します。本サイトのサーバーや第三者へ送信・保存しません(通信を禁止する設定でページを配信しています)。

結果

エラー 0 件・警告 0 件・情報 1 件

指摘(エラー・警告・情報)

  • 情報 出力全体 requestBody(本文)の required と、セキュリティ(認証)の要件は含めていません。パラメータ(query・header・path・クッキー)だけの一覧です。
オペレーションの数1 個
必須パラメータの数2 件

必須パラメータの一覧

必須パラメータの一覧
パスメソッドパラメータ名場所(in)必須の理由定義元
/users/{id}GETidpathpath は常に必須(required: true)Operation
/users/{id}GETX-Traceheaderrequired: trueOperation

初期表示は入力例「path と header の必須パラメータ」の結果です。入力を変えるとその場で処理し直します。判定の根拠は仕様と根拠にまとめています。

ご利用にあたって

  • 一覧は貼り付けた定義の内容にもとづきます。実際の API サーバーの挙動とは異なることがあります。
  • 大きな定義はお使いの端末の性能によって処理に時間がかかることがあります。

使い方

  1. OpenAPI 3.x の定義全体(JSON 形式)をテキスト欄に貼り付けるか、JSON ファイルを選びます。YAML のときは先に JSON に変換します。
  2. 表で、パス・メソッドごとの必須パラメータと、その場所(in)・必須の理由・定義元を確かめます。
  3. 警告が出たら、path のパラメータの required や、パスの {…} との名前の一致、参照先の有無を直して貼り直します。
  4. 共通のパラメータを Path Item に書いているときは、定義元の列で Operation が上書きしたものを見分けます。

入力例と結果

代表的な入力・境界の入力・壊れた入力の例です。例ごとに入力・出力・指摘と、その結果になる理由(検算)を載せています。

入力例と結果の一覧
入力例結果
path と header の必須パラメータエラー 0 件・警告 0 件・情報 1 件
Path Item の共通パラメータを Operation が上書きエラー 0 件・警告 0 件・情報 1 件
components の定義を $ref で参照エラー 0 件・警告 0 件・情報 1 件
path なのに required: true がないエラー 0 件・警告 1 件・情報 1 件
OpenAPI 2.0(Swagger)の定義は読まないエラー 1 件・警告 0 件・情報 0 件

このツールでできないこと(制約)

よくある質問

required を書かない query パラメータは必須ですか?

いいえ。OpenAPI 3.1.0 の Parameter Object では required は省略すると false として扱われます。必須にするには required: true と書きます。ただし path のパラメータだけは required: true が必須です。

Path Item の共通パラメータを Operation で消すことはできますか?

できません。Path Item の parameters は Operation で上書きできますが、削除はできないと仕様にあります。必須でなくしたいときは、同じ name と in で required: false と書いて上書きします。

貼り付けた定義はどこかに送られますか?

送られません。一覧づくりはお使いのブラウザの中だけで行い、ページは通信を禁止する設定(CSP の connect-src)で配信しています。社外秘の API の定義でも内容を送信しませんが、共用の端末では使い終わったらページを閉じてください。