讃岐小僧のEngineering×Techメモ

未経験から挑戦中のプログラミングや、趣味の野球や狩猟について、その他、ビジネスやテクノロジーをテーマに様々なことをつぶやく場所です。

【Swagger】URIにパラメーターが入るときはパラメーターを定義しよ。

はじめに

現在個人的に開発しているWebサービスでちゃんとAPIドキュメント残さないと、仲間が増えた際に働けないかなと思いSwaggerを使ってドキュメントを書いています。

→実際はエクセルで書いていたが、エンジニアに「Swaggerで書いて!」っていわれたので、なにそれ的?につかいはじめた。 ダサくてすみません。

今回は、そんななかで少し書き方でエラーになったところとかシンプルにメモするだけです。

出会ったエラー

  /your-object/{id}:  ## ←これがずっとエラーになってた
    get:
      tags:
      - your-object
      summary: to find your-object by id
      responses:
        200:
          description: Successfull
        400:
          description: Not Found

エラー文
Declared path parameter "id" needs to be defined as a path parameter at either the path or operation level

とりあえずPathパラメーターまたはオペレーションレベルで定義ちゃんとしろボケ!とSwaggerさんに怒られている様子。

解決策

問題解決方法としてはここを参照して解決した。

  /your-object/{id}: 
    get:
      tags:
      - your-object
      summary: to find your-object by id
      parameters:   ## ←ここから
        - in: path
          name: id
          type: integer
          required: true ## ←ここまで追記した
      responses:
        200:
          description: Successfull
        400:
          description: Not Found

というか言われたままにSummaryの下にパラメーターを定義しただけ。

とりあえず一つSwaggerの使い方を覚えました。

これだけ