名前が空のパスプレースホルダー

パスのプレースホルダーに名前を付け、同名の必須パラメーターを定義してください。

説明

パスのプレースホルダーには {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} と命名していますが、完全な定義には同名の必須パスパラメーターも必要です。

参考資料