説明
パスのプレースホルダーには {id} のような名前が必要です。/users/{} のように名前が空だと、必要な値が分からず、正しく命名されたパスパラメーターとして処理できません。
想定される影響
- パスの意味が不明確になり、文書と実装の解釈が食い違う可能性があります。
- コード生成ツールや検証ツールが仕様をエラーとして扱う場合があります。
対処方法
空の {} を、実際の API が使う {id} や {userId} などの名前に変更してください。同名の in: path パラメーターをパスまたは操作に定義し、required: true を指定してください。
例
OpenAPI 3.0 のパス名だけを比較する抜粋です。info とパスパラメーターの宣言は省略しているため、実際の文書にはその宣言が必要です。
変更前
yaml
openapi: 3.0.0
paths:
/users/{}:
get:
responses:
"200":
description: OK
変更後
yaml
openapi: 3.0.0
paths:
/users/{id}:
get:
responses:
"200":
description: OK
変更前はプレースホルダーの名前が空です。変更後は {id} と命名していますが、完全な定義には同名の必須パスパラメーターも必要です。