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