path なのに required: true がない
パス変数 x に required を書き忘れた例です。仕様では path のパラメータは required: true が必須なので警告を出しますが、path は必ず必要なため必須として一覧には入れます。
入力
OpenAPI の定義(JSON)
{"openapi":"3.1.0","paths":{"/a/{x}":{"get":{"parameters":[{"name":"x","in":"path"}]}}}}
結果
エラー 0 件・警告 1 件・情報 1 件
指摘(エラー・警告・情報)
- 警告 GET /a/{x} パス変数「x」に required: true がありません。path のパラメータは required: true が必須です(Parameter Object)。必須として一覧に入れました。
- 情報 出力全体 requestBody(本文)の required と、セキュリティ(認証)の要件は含めていません。パラメータ(query・header・path・クッキー)だけの一覧です。
| オペレーションの数 | 1 個 |
|---|---|
| 必須パラメータの数 | 1 件 |
必須パラメータの一覧
| パス | メソッド | パラメータ名 | 場所(in) | 必須の理由 | 定義元 |
|---|---|---|---|---|---|
| /a/{x} | GET | x | path | path は常に必須(required: true) | Operation |
検算(この結果になる理由)
Parameter Object は、in が path のとき required: true が必須(REQUIRED)としています。x には required がないため警告が 1 件(GET /a/{x})出ますが、パス変数は常に必要なので必須として 1 件挙げます。
判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。
このツールの制約
- YAML 形式、外部ファイルや URL への参照は読めません。同じファイル内の #/… の参照だけ解決します。
- リクエスト本文(requestBody)の必須や、認証(security)の要件は含めません。パラメータの一覧です。
- OpenAPI 2.0(Swagger)の定義は対象外です。仕様の確認は 3.1.0 で行ったもので、3.0 系の細部の違いまでは確かめていません。
- OpenAPI 全体の文法や、パラメータの schema(型・形式)の正しさは検査しません。
ご利用にあたって
- 一覧は貼り付けた定義の内容にもとづきます。実際の API サーバーの挙動とは異なることがあります。
- 大きな定義はお使いの端末の性能によって処理に時間がかかることがあります。