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